Mavenプロジェクトの構造
私は些細なマルチモジュールMavenプロジェクトを持っています:
parent-project
child-project1
(war
)child-project2
(jar
)parent-project
はpom.xml
、その<modules>
セクションで両方の子プロジェクトを参照しています。両方の子プロジェクトは、<parent>
セクションで親を参照します。
child-project1
に依存しますchild-project2
(<dependencies>
セクションで参照します)。
問題
私が使用しようとしていますライセンスのMavenプラグインを上parent-project
には、すべての依存関係とそのライセンスのリストを含むファイルを生成します。
mvn license:aggregate-add-third-party
エラーが発生します:
Failed to execute goal on project child-project1: Could not resolve dependencies
for project ... child-project1 ... : Could not find artifact ... child-project2 ...
私はの依存コメントアウトするときchild-project1
にchild-project2
問題はないとプラグイン作品を。したがって、プラグインを使用できますが、使用するたびに依存関係をコメントアウトする必要があります。
何が問題ですか?それを修正する方法はありますか?
あなたが直面している問題はmaven-license-plugin
、デフォルトでローカルリポジトリで子アーティファクトを探すことです。親のプラグイン構成pom.xml
は次のようになっていると思います。
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.6</version>
<configuration>
<!-- your own config goes here -->
</configuration>
</plugin>
</plugins>
を使用して、マルチモジュールプロジェクトをローカルのMavenリポジトリにインストールする必要があります
mvn install
その後、あなたは実行します
mvn license:aggregate-add-third-party
再び、ビルドは成功します。
<execution>
プラグインでを構成した場合、これは失敗します。これは、maven-license-plugin
デフォルトでgenerate-resources
フェーズ[1]にバインドされ、これは常にinstall
[2]より前に実行されるためです。
乾杯、PK
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加