src/main/java/resourcesという構造を持つjar say xyz.jarがあります。このリソースフォルダには、/ fileone.txt b/filetwo.txtとc/filethree.txtという3つのサブフォルダがあります。私は3つの異なる3つのwarファイルを作成するためにこのjarを依存関係として使用しています。これらのwarファイルのそれぞれでは、私は3つのファイル.i.eのうちの1つ、fileone.txtまたはfiletwo.txtまたはfilethree.txtのみを使用します。したがって、3つのwarファイルのいずれかを構築するためのpom.xmlには、残りの2つのファイルを除外するように設定する方法がありますか? たとえば、firstWar.warをビルドしている場合、私はfileone.txtだけをインクルードし、他の2つは除外したいとします。 私は、Maven warプラグインのpackageExcludesはここで使用できると信じていますが、わからないのですか?おかげさまで maven3の戦争に依存している特定のファイルを除外する
0
A
答えて
1
- 解決方法1:
あなたは、リソースが含まれているjarファイルを持っていると仮定しています。ファイル/リソースを代わりにwarモジュールに入れて、1つのビルドから3つの異なるwarを生成することをお勧めします。これは、maven-assembly-pluginを使用することで解決できます。あなたは以下の構造を有する:
.
|-- pom.xml
`-- src
|-- main
| |-- java
| |-- resources
| |-- environment
| | |-- test
| | | `-- database.properties
| | |-- qa
| | | `-- database.properties
| | `-- production
| | `-- database.properties
| `-- webapp
あなたはアセンブリ記述子と、もちろんにこのようなポンポンファイルが必要になります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>test</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${project.basedir}/src/main/assembly/test.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>qa</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${project.basedir}/src/main/assembly/qa.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>production</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${project.basedir}/src/main/assembly/production.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
記述子ファイルは、次のようになります。
<assembly...
<id>test</id>
<formats>
<format>war</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>true</unpack>
<useProjectArtifact>true</useProjectArtifact>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<outputDirectory>WEB-INF</outputDirectory>
<directory>${basedir}/src/main/environment/test/</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</assembly>
すべてのリソース(あなたの場合は3回)が必要です。テスト、qa、プロダクション(あなたに適切なIDを与えることを忘れないでください)のような名前を付けられます。 src/main/assemblyフォルダーに配置してください。またはあなたのenvrionment(file1、file2、file3との関係では、私はそこに現実にはより良い名前が存在すると思う)。
- 解決方法2:
あなたが使用してjarファイルに同じ設定を行うと、あなたが好きなリソースを表す適切な分類子を持つ三つの異なるjarファイルを作成します。しかし、その後、あなたは、異なるリソースごとに異なる3つのwarファイルを作成するためにwarビルドを変更する必要があります。セットアップについてi wrote a blog entry
関連する問題
- 1. Gradle:既存の戦争からいくつかのファイルを削除する|各戦争ファイルのために:開梱、除去/フィルタリング、戦争を組み立てる
- 2. pomのテストを実行するための依存戦争からjarファイルを除外する方法
- 3. Maven - カスタムの戦争依存パラメータ値を作成します
- 4. gradle subProject設定の依存関係が戦争に追加されない
- 5. 依存関係グラフから特定のヘッダーを除外する
- 6. のmaven-戦争 - プラグイン:すべてのディレクトリを除外するが、1つの
- 7. bootRepackageの作成方法Gradle War Pluginを使用している場合、戦争ではなく戦争に依存します
- 8. JBoss AS 7 - 特定の順序で戦争を展開する
- 9. 戦争から不要なノードモジュールを除外する
- 10. dupliactes .classファイルなしで戦争を構築し、gradleを使ってJavaファイルを除外する方法
- 11. バネを使用して戦争外のプロパティファイルを読み取る
- 12. 戦争ファイルの展開
- 13. Netflixタービンスタンドアロンの戦争設定
- 14. sbt - 公開中に特定の依存関係を除外する
- 15. 兵士は戦争中の依存関係を提供しました
- 16. tomcatの特定の戦争の読み込みを無効にする
- 17. 特定のスコープの依存関係のみを除外する方法は?
- 18. NetBeansは*私は私のプロジェクトで、このscenarionを持っている私のMavenの戦争の依存
- 19. groovy/gradleで特定の戦争でjetty 7+を実行するには?
- 20. 外部manifest.ymlを使って戦争をパッケージ化する方法
- 21. 戦争
- 22. 糸は、依存関係の依存関係のために特定のピンを特定していますか?
- 23. 戦争中のファイルへの参照
- 24. Mavenプロジェクトの特定のファイルを戦争中の特定のディレクトリにパックするにはどうすればいいですか?
- 25. 特定のナゲットパッケージに依存している
- 26. 戦争ファイルの命名規則
- 27. Wso2 5.3:認証エンドポイント戦争および他の戦争のソースコード
- 28. コンパイルの依存関係から.classファイルを除外します
- 29. ジーンズにスプリングブート戦争を展開する
- 30. 耳に追加戦争をパッケージする
ありがとうございますkhmarbaise、この記述子ファイルは、3つのファイルのそれぞれにする必要がありますか?これらの記述子ファイルはどのように名前を付けるべきですか?ファイルはresouces/folder1/file1 resources/folder2/file2およびresources/folder3/file3として存在します。 – pranay
拡張された適切な回答。 – khmarbaise
もう一度感謝します..しかし、私は3つのwarファイルを一緒にビルドしている場合、これがうまくいくと思いますか? – pranay