一段时间以来,我一直在哈德森成功使用maven项目。 但是这次我需要构建一个eclipse动态Web项目,通常在eclipse中构建,然后将war输出到生产中。如何在哈德森建立这个项目。
提前致谢!
答案 0 :(得分:4)
如果您熟悉Maven,我建议您使用m2e-wtp
插件 - 这样您就可以将Maven和WTP用于您的网络应用。它应该在m2e目录(Window> Preferences> Maven)中的某处,现在m2e转移到Eclipse Foundation,检查Maven/Tomcat Projects In Eclipse Indigo/3.7以获取更多信息。
如果您已经在Eclipse中拥有动态Web项目,那么您可能需要移动一堆文件夹以在Maven期望的结构中排列它们:
src/
main/
java/ -- your Java source files (servlets, actions, ...)
resources/ -- your resource files (struts.xml, log4j.xml, NOT web.xml)
webapp/ -- your web root (previously WTP's WebContent/)
WEB-INF/ -- your WEB-INFt (web.xml)
test/
java/ -- your Java test cases
resources/ -- your test resource files
pom.xml
将<packaging>
设置为war
,以便Maven知道它应该将您的依赖项放入WEB-INF/lib/
并构建WAR。
对于依赖项,您可能需要Servlet API:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version><!-- change version as needed -->
<scope>provided</scope><!-- Mind the scope!-->
</dependency>
对provided
范围进行注意:Servlet规范禁止Web应用程序在WEB-INF/lib
中携带自己的Servlet API JAR,并且符合Web的容器将拒绝加载您的Web应用程序(在这种情况下)将在他们支持的版本中提供JAR。
最好从右键单击动态Web项目开始,然后转到Maven&gt;转换为Maven项目,然后如上所示移动文件夹,然后浏览m2e和m2e-wtp插件向您抛出的所有警告(大多数提供quickfix)。