Как использовать другой дескриптор web.xml в tomcat7-maven-plugin:run?

Я хотел бы иметь два разных web.xml файлы дескрипторов в моем проекте maven. Первый (по умолчанию) должен быть включен в файл war для развертывания на сервере приложений, а второй должен использоваться для разработки с использованием tomcat7-maven-plugin:run, Я знаю, что есть <tomcatWebXml> параметр, но он указывает глобальный Tomcat web.xml который я не хочу менять.

За jetty-maven-plugin:run Я могу указать либо <webApp>/<descriptor> или же <webApp>/<overrideDescriptor>, Сначала заменяет по умолчанию web.xml с указанным файлом, в то время как секунда применяет указанное содержимое файла в дополнение к стандартному web.xml,

Есть ли возможность, как добиться такой же функциональности с tomcat7-maven-plugin?

1 ответ

Это старый вопрос, но я напишу это здесь на случай, если кто-то еще ищет.

Да, это возможно.

Вы можете сделать это, переопределив стандартный (встроенный) war-builder, который использует tomcat7-maven-plugin, то есть org.apache.maven.plugins: maven-war-plugin Переопределение выполняется простым добавлением этого плагина в ваш pom.xml вместе с дополнительной конфигурацией webXml

Код будет выглядеть так

    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <webXml>myPath/web.xml</webXml>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                ... other configurations here
            </configuration>
        </plugin>
        ...
    </plugins>
Другие вопросы по тегам