我一直在hudson中使用maven项目已经有一段时间了。 但是这次我需要建立一个通常在eclipse中构建的eclipse动态web项目,然后将战争导出到生产环境。我怎样才能在哈德森建立这个项目。如何在hudson中构建一个eclipse动态web项目
在此先感谢!
我一直在hudson中使用maven项目已经有一段时间了。 但是这次我需要建立一个通常在eclipse中构建的eclipse动态web项目,然后将战争导出到生产环境。我怎样才能在哈德森建立这个项目。如何在hudson中构建一个eclipse动态web项目
在此先感谢!
如果您熟悉Maven,我建议您使用m2e-wtp
插件 - 这样您就可以将Maven和WTP用于您的Web应用程序。它现在应该在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。
至于dependenices,你可能需要在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>
收费attentation到provided
范围:Servlet规范禁止网络应用程序给自己带来的Servlet API的JAR沿WEB-INF/lib
,符合网络在这种情况下,容器将拒绝加载您的Web应用程序(它们将提供它们支持的版本中的JAR)。
这可能是最好的开始,右键单击动态Web项目,然后转到Maven> Convert to Maven项目,然后移动文件夹,如上所示,然后通过m2e和m2e-wtp插件引发的所有警告你(最提供一个quickfix)。