2011-10-24 64 views
2

我一直在hudson中使用maven项目已经有一段时间了。 但是这次我需要建立一个通常在eclipse中构建的eclipse动态web项目,然后将战争导出到生产环境。我怎样才能在哈德森建立这个项目。如何在hudson中构建一个eclipse动态web项目

在此先感谢!

回答

4

如果您熟悉Maven,我建议您使用m2e-wtp插件 - 这样您就可以将Maven和WTP用于您的Web应用程序。它现在应该在m2e目录(Window> Preferences> Maven)中的某处,现在将m2e移动到Eclipse Foundation,请检查Maven/Tomcat Projects In Eclipse Indigo/3.7了解更多信息。

  • Hudson/Jenkins只会将它作为一个普通的Maven项目来构建,不需要额外的配置。
  • Eclipse将主要继续使用自己的工具,一些Maven的插图中,但最重要的是它会从Maven的得到任何dependenices,并让他们在构建路径

如果你已经在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)。

相关问题