Как позволить Jenkins построить правильный файл.war?
Я создаю веб-приложение для сервера Tomcat с помощью Maven и Jenkins.
Проблема заключается в том, что структура.war-файла после распаковки Tomcat не работает так, как он работает, и не "соответствует tomcat" ( https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html).
Как я могу это исправить?
- Изменить структуру моего исходного кода?
- Измените.pom, чтобы maven правильно его создавал?
- Я должен изменить исход.war после распаковки самостоятельно, чтобы он работал?
Детали: это проект, который я взял на себя, а не тот, который я строю сам.
1 ответ
Вы должны следовать maven соглашениям для макета папки, что означает src/main/java
для источника, как файлы Java. В src/main/webapp/
вещи, которые больше относятся только к веб-приложениям.. Как web.xml
, JSP файлы и т. д. Кроме того, вам нужно установить правильный <packaging>..</packaging>
в вашем файле POM, который 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
Кроме того, я бы порекомендовал вам сначала создать свой военный файл в командной строке и не использовать Jenkins на первых шагах, в противном случае у вас будет больше источников ошибок в вашем проекте. Если файл войны будет создан правильно и его можно будет без каких-либо проблем развернуть на Tomcat вручную, вы можете пойти дальше и использовать решение CI, такое как Jenkins.