2016-02-14 1 views
1

Я создаю веб-приложение для сервера Tomcat с помощью Maven и Jenkins.Как разрешить Дженкинсу построить правильный .war-файл?

Проблема заключается в том, что структура файла .war после распаковки Tomcat не работает так, как в режиме «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 layoutsrc/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 

Помимо этого я рекомендовал бы сначала создать военный файл в командной строке и не использовать Дженкинс в первых шагах иначе вы больше источников ошибок в проекте. Если файл войны будет создан правильно и может быть развернут в Tomcat вручную без каких-либо проблем, вы можете пойти дальше и использовать решение CI, например, Jenkins.

+0

Большое спасибо за ответ. Трудно получить ответы на основные вопросы в Интернете. Кажется, все - профессионалы. – JanS

+0

Только меньшинство - про ... все остальные не ... – khmarbaise

 Смежные вопросы

  • Нет связанных вопросов^_^