2016-12-15 18 views
1

В моем проекте я использую военные наложения. В первой базовой войне в src/main/resources у меня есть файл my-file.txt. Вторая война зависит от первой войны. Вторая война имеет код для поиска для my-file.txt на пути к классам:Наложения дублируются на пути к классу, когда война работает с maven-jetty-plugin

Enumeration<URL> urls = MyListener.class.getClassLoader().getResources("my-file.txt"); 
while (urls.hasMoreElements()) { 
    System.out.println("This is my resource:" + urls.nextElement()); 
} 

Мой выход равен (mvn jetty:run):

Это мой ресурс: баночка: файл:/C:/Users/michaldo/.m2/repository/war-plus-war/war1/0.0.1-SNAPSHOT/war1-0.0.1-SNAPSHOT-classes.jar! /my-file.txt

Это мой ресурс: jar: file: /C:/Users/michaldo/workspace-n1/war-plus-war/war2/target/tmp/war1-0_0_1-SNAPSHOT_war1/WEB-INF/lib/war1-0.0.1-SNAPSHOT.jar!/my-file .txt

Могу ли я настроить плагин maven для причала и избежать дублирования?

Моя конфигурация Maven войны-плагин (молы имеет конфигурацию по умолчанию):

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>3.0.0</version> 
    <configuration> 
     <archiveClasses>true</archiveClasses> 
     <attachClasses>true</attachClasses> 
     <dependentWarExcludes> 
      WEB-INF/lib/*-*.jar 
     </dependentWarExcludes> 
    </configuration> 
</plugin> 

ответ

0

Проблема заключается в том, что dependentWarExcludes является устаревшим (и даже не поддерживается в Maven-войны-плагин 3,0

Maven Jetty плагин работает, как и ожидалось, когда я перехожу к исключению из конфигурации наложения:

<build><plugins><plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
    <overlays> 
     <overlay> 
     <groupId>war-plus-war</groupId> 
      <artifactId>war1</artifactId> 
      <excludes><exclude> 
       WEB-INF/lib/*-*.jar 
      </exclude></excludes> 
     </overlay> 
    </overlays> 
    </configuration> 
</plugin></plugins></build>