すべてのクラスを単一の.jarにパッケージ化し、lib/folderにそのjarを含む.warファイルを作成する、maven-war-pluginにはarchiveClasses
オプションがあります。Maven warプラグイン:アーカイブリソースなしのarchiveClasses
同じことをする必要がありますが、リソースファイルはクラスディレクトリに残しておく必要があります。そのため、クラスパスからはアクセスできますが、変更は簡単です。
これを行う最も簡単な方法は何ですか?
すべてのクラスを単一の.jarにパッケージ化し、lib/folderにそのjarを含む.warファイルを作成する、maven-war-pluginにはarchiveClasses
オプションがあります。Maven warプラグイン:アーカイブリソースなしのarchiveClasses
同じことをする必要がありますが、リソースファイルはクラスディレクトリに残しておく必要があります。そのため、クラスパスからはアクセスできますが、変更は簡単です。
これを行う最も簡単な方法は何ですか?
これらのリソースがどこにあるかを指定できるだけです。これは通常、リソースはsrc /メイン/リソースに見えますが、あなたが試みることができるJavaのソースツリーでそれらを必要とする場合:
たぶん、あなたは プラグイン設定にリソースとして、リソースフォルダを設定しようとすることができます。
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<archiveClasses>true</archiveClasses>
<webResources>
<resource>
<directory>src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
これは動作しますが、リソースもjarファイルに複製されます。 – kolobok
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>${project.war.name}</warName>
<warSourceExcludes>**/*.class</warSourceExcludes>
<archiveClasses>true</archiveClasses>
</configuration>
</plugin>
1行の答え:
archiveClasses
フラグを使用して作成したjarファイルからリソースを除外するmaven-war-plugin
で提供オプションはありません。
この問題の可能性と最も簡単な回避策はsrc/main/java/webapp/WEB-INF/classes
ディレクトリにsrc/main/java/resources
ディレクトリの下に存在するファイルを移動することです。
いいえ。それらはsrc/main/resourcesにありますが、私はそれらを.warファイル内のclasses /ディレクトリにパッケージ化し、Java .classファイルはlib/directoryの.jarの中に入れる必要があります。 – weekens