2016-12-15 7 views
1

私のプロジェクトでは戦争オーバーレイを使用しています。 src/main/resourcesの最初の基本戦では、私はファイルmy-file.txtを持っています。第二次戦争は第一次戦争に依存する。 第二の戦争は、クラスパス上my-file.txtのルックアップするためのコードを持っていますwarが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)です:

これは私のリソースです:jarファイル:ファイル:/ C:/ユーザー/ michaldo /このファイルは私のリソースです:jar:file:/ usr/lib/war-plus-war/war1/0.0.1-SNAPSHOT/war1-0.0.1-SNAPSHOT-classes.jar!/my-file.txt

これは私のリソースです。 /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 jettyプラグインを設定して重複を避けることはできますか?

私の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の突堤除外をオーバーレイに移動するとプラグインが正常に動作するconfig:

<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> 
関連する問題