2016-02-14 74 views
1

我在Maven和Jenkins的幫助下爲Tomcat服務器構建了一個Web應用程序。如何讓詹金斯構建正確的.war文件?

問題在於,在Tomcat解包之後,.war文件的結構不符合它的工作方式,既不以「Tomcat符合」方式(https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html)。

我該如何解決這個問題?

  • 更改我的源代碼結構?
  • 更改.pom,以便maven正確構建它?
  • 我必須在自己解包後改變.war的結果才能使用它。

詳細信息: 這是一個我接手的項目,不是我自己創建的項目。 This is the source code structure

This is the Jenkins unpacked .war file structure

This is the structure how it is needed on the server. (tomcat standard conform, as i see it)

+0

我不明白爲什麼有人會對一個完全有效的問題進行降級投票,而許多以webapps開頭的人都會磕磕絆絆?沒有任何解釋。因此提高了它。 –

回答

3

您應該遵循maven conventions for folder layout這意味着src/main/java像Java文件來源。在src/main/webapp/東西只屬於更多的Web應用程序..像web.xml,jsp文件等。此外,您需要在您的pom文件中設置正確的<packaging>..</packaging>這是war您的情況。

|-- pom.xml 
`-- src 
    `-- main 
     |-- java 
     | `-- com 
     |  `-- example 
     |   `-- projects 
     |    `-- SampleAction.java 
     |-- resources 
     | `-- images 
     |  `-- sampleimage.jpg 
     `-- webapp 
      |-- WEB-INF 
      | `-- web.xml 
      |-- index.jsp 
      `-- jsp 
       `-- websource.jsp 

除此之外,我建議你先創建命令行WAR文件,並在第一個步驟,在項目中不使用詹金斯否則你更多的錯誤的來源。如果戰爭文件將被正確創建,並且可以手動部署到Tomcat而沒有任何問題,則可以進一步使用Jenkins等CI解決方案。

+0

非常感謝您的回答。在互聯網上的基本問題很難得到很好的答案。似乎每個人都是親。 – JanS

+0

只有少數人是親...所有的人都不是...... – khmarbaise