私のプロジェクトでは戦争オーバーレイを使用しています。 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>