maven deploy プラグインを使用して複数の jar をデプロイできるかどうか疑問に思っていますか?
3 に答える
1 つのモジュールから 2 つ以上の JAR をデプロイする必要がある場合は、アタッチを true に設定して maven-assembly-plugin の assembly:single ゴールを使用します: http://maven.apache.org/plugins/maven-assembly-plugin/single -mojo.html
はい、できます。JARをデプロイするすべてのプロジェクトを親プロジェクトのモジュールとして用意し、親プロジェクトをデプロイすると、すべてのサブプロジェクトJARがデプロイされます。
こちらのチュートリアルを参照してください:http://www.sonatype.com/books/mvnex-book/reference/multimodule.html
Nishant がコメントしたように、2 つのケースがあります。
依存関係のあるプロジェクト
jar のバンドルを生成するフレームワークのようなマスター プロジェクトがあるとします。大きなプロジェクトなので、多くの小さなプロジェクトに分割する必要があります。しかし、他のすべてを動かす 1 つのマスター プロジェクトがあります。一言で言えば、それはマルチMavenプロジェクトです
+-main-project/
+--src/
| +-- ...
+--pom.xml
|
+--submodule1
| +--src/
| +--pom.xml
+--submodule1
| +--src/
\ +--pom.xml
これにより、少なくとも 2 つの jar (submodule1.jar および submodule2.jar) が生成されます。
マルチモジュール プロジェクトは、そのような関係を扱うことを目的としています。mvn deploy ill deploy all jars.
N 個の jar を生成する単純なプロジェクト
複数のソースを持つプロジェクトがあるとします
+-main-project/
+--src/
| +--main/
| | +--java-core/
| | |--+/ClassA.java
| | +--java-entities/
| | |--+/ClassE.java
| | +--java-interfaces/
| | |--+/IClass.java
+--pom.xml
これにより、3 つの jar (コア、エンティティ、インターフェイス) が生成されます。これは決してセットアップされません。ルールは 1 pom --> 1 成果物 (リソース、zip、ejb-client などの特殊なケースでは 2 つ...)
そのため、mvn deploy は 1 つ以上の jar を離れたリポジトリに置くことはできません。(いくつかのプラグインを使用して) 回避策を見つけたとしても、それは本当に悪い考えです。Mavenはそれを意図していません。しかし、心配しないでください。念のためにプロジェクトを分割する必要があります。
あなたの最初のメッセージは本当に正確ではないので、それが十分に明確であることを願っています:)