2

問題は、私たちの会社には複数のサブモジュールを含むプロジェクトがありますが、サブモジュールの 1 つは単なる API 宣言のコレクションであり、他の (サード プラティ) プロジェクトで使用するためのものです。保守と構築が簡単なため(依存関係とプロパティの継承)、サブモジュールとして保持したいと思います。このプロジェクトの他のサブモジュールもそれに依存しています。

私が持っている質問は、親 pom に依存せずに、このサブモジュールだけを別のリポジトリにアップロードする (複製することもできる) デプロイ フェーズを実行するための良い方法または良い方法が存在するかどうかです。

既に試したこと: deploy:deploy-file は既に確認しましたが、問題は SNAPSHOT ビルドに関してです。SNAPSHOTS とリリース ビルドを公開できるようにしたいと考えています。スナップショットにはリリース リポジトリとは異なるリポジトリがありますが、deploy-file ゴールには URL パラメータを 1 つしか指定できません。スナップショットの展開に別のプロファイルを使用したくありません。バージョンが SNAPSHOT の場合、maven build-helper とその正規表現プロパティを使用してリポジトリの URL を変更しようとしましたが、プラグインと正規表現の制限のために変更できませんでした。

最後のオプションは、これ用のプラグインを作成できることですが、これを「maven way」で解決するよりエレガントな方法があるかどうかを知りたいです。

4

1 に答える 1

2

このモジュールを個別に展開することはできますが、リリースの SNAPSHOT に対してのみ意味がありません。モジュールのデプロイは、次の方法で実行できます。

mvn -pl TheModuleYouWouldLikeToDeploy deploy

次のようなオプション -am を追加する必要があるかもしれません(依存関係も作成します):

mvn -am -pl TheModuleYouWouldLikeToDeploy deploy

それとは別に、マルチモジュールビルドを使用している場合、 mvn deploy を介してビルド全体をデプロイしないのはなぜですか? Jenkins のような CI ツールを介して仕事をさせた方が良いかもしれません。

于 2012-11-08T14:18:41.530 に答える