maven eclipse wtp не помещает пользовательский файл в папку WEB-INF

#maven #web.xml #eclipse-wtp #maven-war-plugin

#maven #web.xml #eclipse-wtp #maven-war-плагин

Вопрос:

Когда я развертываю веб-приложение с помощью eclipse wtp, пользовательский файл «webxml», указанный в pom.xml не копируется в папку WEB-INF как ‘web.xml » . Однако файл правильно скопирован в war в папке WEB-INF.

Вот фрагмент из pom.xml

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <webXml>${webXmlPath}</webXml>
        <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
    </configuration>
</plugin>
  

${webXmlPath} зависит от профиля и имеет значение по умолчанию:

 <properties>
        <webXmlPath>${basedir}/src/main/webapp/WEB-INF/web-embed.xml</webXmlPath>
</properties>
  

спасибо 🙂

Ответ №1:

Если вы используете m2e-wtp, ваш /.settings/org.eclipse.wst.common.component должен содержать запись типа :

<wb-resource deploy-path="/WEB-INF/web.xml" source-path="/src/main/webapp/WEB-INF/web-embed.xml"/>

Это должно сработать.

Теперь для серверных адаптеров, которые его поддерживают (в настоящее время только JBoss), использование <packagingExcludes>WEB-INF/web.xml</packagingExcludes> фактически предотвратит любые web.xml от развертывания. Другие серверные адаптеры (например, Tomcat) будут игнорировать эту директиву.

Комментарии:

1. Это мне ОЧЕНЬ помогло. Спасибо @Fred!