Как позволить Jenkins построить правильный файл.war?

Я создаю веб-приложение для сервера Tomcat с помощью Maven и Jenkins.

Проблема заключается в том, что структура.war-файла после распаковки Tomcat не работает так, как он работает, и не "соответствует tomcat" ( https://tomcat.apache.org/tomcat-7.0-doc/appdev/deployment.html).

Как я могу это исправить?

  • Изменить структуру моего исходного кода?
  • Измените.pom, чтобы maven правильно его создавал?
  • Я должен изменить исход.war после распаковки самостоятельно, чтобы он работал?

Детали: это проект, который я взял на себя, а не тот, который я строю сам. Это структура исходного кода

Это структура распакованного файла.war в Jenkins

Это структура, как это нужно на сервере. (стандарт Tomcat соответствует, как я вижу

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.

Другие вопросы по тегам