#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 .