利用eclipse构建和部署maven工程

67 篇文章 0 订阅
5 篇文章 0 订阅
一、环境 
OS:win7 
jdk:1.7 
maven:3 
eclipse:jee3.6+m2eclipse 
tomcat:7 

二、创建由maven构建的web工程 
1、创建maven工程 
mvn archetype:generate 
在出现的archetype列表中可选择一个合适的编号,例如 
197: remote -> struts2-archetype-blank (-) 
之后将会在工作空间出现maven工程 

 

执行mvn eclipse:eclipse 
工程目录增加了一些目录 

 

2、在eclipse中import maven工程 
如果用m2eclipse生成的Maven工程则省了上面两步 
3、让maven工程成为eclipse支持的dynamic web projtct 修改.project文件或是 
4、在eclipse中修改project fact选择java和dynamic web project两项, 

 


之后应可以将工程加入tomcat部署,但会在工程中自动加入webconent目录,并默认设置将webcontent下的内容发布到/下, 
 

 


需要修改为src/main/webapp目录,有两种办法。 
一是在工程目录中的.setting下修改org.eclipse.wst.common.component,修改成 
<wb-resource deploy-path="/" source-path="/src/main/webapp"/>后,将webconent目录删除 


 

到这里eclipse已经从maven手中接过了web工程的管理工作了。 


二在eclipse中部署web应用到容器中 
6、将web工程加入到tomcat的发布列表中。 

 
如果添加不了,可能是sevlet容器的版本太高了。修改: 

 


如果启动后会发现报java.lang.ClassNotFoundException异常。这是因为maven的依赖包并未一同发布到tomcat中 

还要设置部署 
eclipse中右键工程,选择maven-->enable dependency management 
 

在工程属性中找到deployment assembly配置项--》add-->Referenced Projects classpath entries-->next 

 

在出现的窗口中找到要配置工程下面有一个Maven dependencies项,勾上 
mvn12.png 


mvn13.png 


即使这样,我也遇到jar包不能发布到lib目录的怪事。后来打开工程的.classespath发现有一项是这样的 






在工程属性的java build paths配置项中 order and export->将mavent dependencies项 
mvn14.png 


<classpathentry exported="true" kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> 
<attributes> 
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
</attributes> 
</classpathentry> 

需要将value="../"设置成“/WEB-INF/lib”我想这是一个bug.这样就ok了 

注意事项: 

一旦eclipse的部署环境调试好后,尽量不要再用mvn eclipse:eclipse了。否则上面的工作还要再做一遍。


地址:http://ll-feng.iteye.com/blog/1155776

Maven实践地址:www.juvenxu.com/mvn-in-action/

Maven插件地址:maven.apache.org/plugins/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值