2013-09-26 5 views
3

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

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

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

+0

не могли бы вы уточнить, почему 'tomcatWebXml' не годится для вас? –

+0

Параметр '' переопределяет глобальный файл web.xml Tomcat. На самом деле я хочу использовать исходный файл, который выпущен как часть Tomcat. И я также не хочу копировать и вставлять этот файл длиной 150 КБ в файл 'web.xml'. – Vojta

ответ

0

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

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

Вы можете сделать это, переопределив по умолчанию (встроенный) 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> 
+0

Хорошая идея, но мне нужны были два файла web.xml, по умолчанию для развертывания на сервер приложений и второй для tomcat. Это можно сделать, переместив конфигурацию maven-war-plugin в профиль maven. Но тогда разработчикам придется указывать этот профиль каждый раз, когда они запускают tomcat. – Vojta