2010-10-31 2 views
3

Я использую плагин maven war, чтобы исключить некоторые распространенные баночки и поместить их в путь к классам. Я могу правильно сгенерировать файл войны, который исключает указанные библиотеки и добавляет их в путь к классам, но в разобранном военном каталоге все еще содержатся исключенные libararies. Как я могу создать взорванный военный файл, который использует конфигурацию плагина maven war.Maven war plugin не может исключить библиотеки в разобранном формате войны

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.ekaplus.ctrm.mdm</groupId> 
    <artifactId>core-presentation</artifactId> 
    <version>1.0</version> 
    <packaging>war</packaging> 
    <name>presentation layer core</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.ekaplus.ctrm.mdm</groupId> 
      <artifactId>eka-core-mdm-presentation</artifactId> 
      <version>1.0</version> 
      <scope>compile</scope> 
     </dependency> 
    </dependencies> 
    <profiles> 
     <profile> 
      <id>exploded</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
      <build> 
       <defaultGoal>package</defaultGoal> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-war-plugin</artifactId> 
         <version>2.1</version> 
         <configuration> 
          <packagingExcludes> 
           WEB-INF/lib/dto-common-1.0.jar, 
           WEB-INF/lib/eka-action-1.0.jar 
          </packagingExcludes> 
          <archive> 
           <manifest> 
            <addClasspath>true</addClasspath> 
           </manifest> 
          </archive> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 
</project> 

ответ

3

(...) Как я могу генерировать разобранную войну файл, использовать конфигурацию Maven войны плагина.

war:exploded цель действительно использует (глобальной) конфигурации Maven войны плагин, но он не допускает параметр war:warpackagingExcludes. Это не сработает.

Но почему вы используете packagingExcludes в любом случае? Этот параметр должен использоваться для реализации особого тощего военного варианта использования, и я не уверен, что это ваш случай. Зачем тебе это?

В зависимости от ваших конкретных потребностей мое предложение состояло в том, чтобы играть с областями зависимости (provided в вашем случае?) Или профилями (для добавления зависимостей) или их сочетанием.

+0

Спасибо за ваш ответ! Мы хотим создать только тощие войны. На самом деле мы имеем несколько войн (6 из них). Они упакованы в файл уха. Размер файлов войны увеличивается из-за основных библиотек и других зависимых библиотек. Я также попробовал предоставленную область. Он отлично работает, но мне нужно добавить libs с областью зависимости, как это предусмотрено в пути к классу (META-INF каждой войны). Что можно сделать, чтобы добавить их в classpath? –