Как запретить IntelliJ генерировать MANIFEST.MF, который переопределяет исходный?

#java #tomcat #intellij-idea #war #manifest

#java #tomcat #intellij-идея #Война #манифест

Вопрос:

Я использую IntelliJ IDEA Ultimate 14 и хочу развернуть веб-проект на сервере tomcat в IntelliJ.

В Настройках проекта -> Артефакты я определил «веб-приложение: взорванное» из моего веб-проекта. На панели вывода этого артефакта я получаю папку META-INF моего веб-проекта вместе с другими веб-ресурсами.

Когда я запустил сервер tomcat в первый раз, IntelliJ собрал и развернул взорванную war в tomcat, и мое веб-приложение работало просто отлично. Но если я перезапущу сервер, я получу исключение

 java.io.IOException: invalid header field
  

Я просмотрел результаты взорванной войны и обнаружил, что IntelliJ каким-то образом сгенерировал MANIFEST.MF в META-INF, который переопределил исходный файл моего проекта. Более того, этот сгенерированный МАНИФЕСТ был усечен, что вызвало исключение недопустимого поля заголовка.

Как я могу запретить IntelliJ генерировать MANIFEST.MF или есть какой-либо способ сделать сгенерированный МАНИФЕСТ действительным?

Ответ №1:

На самом деле MANIFEST.MF генерируется maven-war-плагином в родительском pom.

Я могу переопределить значение сгенерированного MANIFEST.MF, настроив архив war. документация по конфигурации: http://maven.apache.org/shared/maven-archiver/index.html .