如何让Jenkins构建正确的.war文件?

时间:2016-02-14 14:52:02

标签: maven tomcat jenkins war

我正在Maven和Jenkins的帮助下为Tomcat服务器构建Web应用程序。

问题是,Tomcat解包后的.war文件的结构不是以它的工作方式,也不是以“tomcat conform”的方式(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)

1 个答案:

答案 0 :(得分:3)

您应该遵循maven conventions for folder layout这意味着src/main/java来源Java文件。在src/main/webapp/内仅属于网络应用的内容。例如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文件,并且不要在第一步中使用Jenkins,否则您的项目中会出现更多错误来源。如果war文件将被正确创建并且可以手动部署到Tomcat而没有任何问题,那么您可以更进一步使用像Jenkins这样的CI解决方案。