`
ll_feng
  • 浏览: 383799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用eclipse构建和部署maven工程

 
阅读更多
一、环境
OS:win7
jdk:1.6
maven:3
eclipse:jee3.6+m2eclipse
tomcat:6

二、创建由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了。否则上面的工作还要再做一遍。
  • 大小: 2.5 KB
  • 大小: 4.1 KB
  • 大小: 40.1 KB
  • 大小: 8 KB
  • 大小: 26 KB
  • 大小: 24.1 KB
  • 大小: 9.7 KB
  • 大小: 14.3 KB
  • 大小: 45.1 KB
  • 大小: 37.8 KB
  • 大小: 21.1 KB
  • 大小: 45.5 KB
  • 大小: 18.3 KB
  • 大小: 13.4 KB
分享到:
评论
5 楼 yuhaizhong1 2012-11-16  
resources目录中的配置信息,不能自动编译,目录中的文件,修改之后,还要执行mvn compile才编译过去。
4 楼 ll_feng 2012-01-31  
wmj007 写道
现在要选231项,版本已经是2.2.3.1,这个版本这些设置都免了,我现在想把自己现有的项目内容用Maven管理起来,怎么弄撒,包括测试类如何生成

我的经验是新建一个maven工程,然后,将原工程的代码逐步放到新工程里来,每走一步都检查它有哪些依赖jar包,再通过maven来加载这些依赖包。
3 楼 wmj007 2011-12-21  
现在要选231项,版本已经是2.2.3.1,这个版本这些设置都免了,我现在想把自己现有的项目内容用Maven管理起来,怎么弄撒,包括测试类如何生成
2 楼 ll_feng 2011-08-29  
ralf_realman 写道
mvn eclipse:eclipse 更简单吧

本文是在说明mvn eclipse:eclipse之后,在eclipse中的开发环境配置
1 楼 ralf_realman 2011-08-26  
mvn eclipse:eclipse 更简单吧

相关推荐

Global site tag (gtag.js) - Google Analytics