中央のネクサスリポジトリにデプロイできるように、多くの(約50以上の)maven2プロジェクトを整理する方法を理解しようとしています。mvn deploy
目標を使用する場合は、次のようにdistributionManagementタグでターゲットを指定する必要があります。
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
今、私は(50以上の)すべてのpom.xmlにこのブロックを何度も何度も含めたくありません。私の最初のsettings.xml
ファイルですが、それを(仕様上)定義することはできないようです。それで、最初の質問は、なぜそうなるのでしょうか?可能であれば、すべての開発者に配布できるmaven2ディストリビューションのsettings.xmlで指定できます。
私が見つけた唯一の可能な解決策は、これらの設定を含む組織全体のmaster-pomプロジェクトを作成し、他のすべてのpom.xmlをこのmaster-pom via <parent>
タグに依存させることでした。しかし、これはマルチモジュールビルドでは一種奇妙に見えます。
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
通常、私はすべてのドキュメントを読んで、pomモジュールが親pomを使用する必要があることを確認しました。しかし、継承v。集約についてのmaven Webサイトを読んだ後、それは確かに可能であると書かれています。
私が見つけた1つの問題は、このセットアップに問題があるように見えるMavenサイトの生成でした(直接の後方参照がない場合、モジュールは正しくリンクされません)
それで、これは有効なアプローチですか?問題に対する他のより明白で簡単な解決策はありますか?