如何让 Jenkins 构建正确的 .war 文件?
How to let Jenkins build the correct .war file?
我正在 Maven 和 Jenkins 的帮助下为 Tomcat 服务器构建 Web 应用程序。
问题是,Tomcat 解压后的 .war 文件的结构不是以它工作的方式,也不是 "tomcat conform" 的方式(https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html).
我该如何解决这个问题?
- 更改我的源代码的结构?
- 更改 .pom 以便 maven 正确构建它?
- 我必须在自己解包后更改 .war 的结果才能正常工作?
详情:
这是我接手的项目,不是我自己建造的。
您应该遵循 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 解决方案。
我正在 Maven 和 Jenkins 的帮助下为 Tomcat 服务器构建 Web 应用程序。
问题是,Tomcat 解压后的 .war 文件的结构不是以它工作的方式,也不是 "tomcat conform" 的方式(https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html).
我该如何解决这个问题?
- 更改我的源代码的结构?
- 更改 .pom 以便 maven 正确构建它?
- 我必须在自己解包后更改 .war 的结果才能正常工作?
详情:
这是我接手的项目,不是我自己建造的。
您应该遵循 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 解决方案。