2011-10-24 101 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)。

相關問題