2016-02-14 126 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