6

コンサルタントとして、私は仕事をしている複数のクライアントを抱えています。各クライアントは、Central およびその他の外部リポジトリをミラーリングするようにセットアップされた独自の内部 Maven リポジトリを利用します。ラップトップで Maven のインストールを構成して、1 つのクライアントで作業しているときに、すべてのクライアントの内部リポジトリを利用できるようにする必要があります。

これを処理するためにプロファイルを利用できると思っていましたが、プロファイルごとにミラー設定を変更することはできません。

このMaven構成にアプローチする方法について誰か提案がありますか?

注: 同様の質問がここにあります: nexus サーバーがダウンしている場合に maven central にアクセスするように maven を構成するにはどうすればよいですか? 、しかし、その質問は、ミラーから来るセントラルとそうでないセントラルの間の切り替えを扱っています。私が必要としているのは、Central (およびその他) が 1 つのミラーから、またはいくつかのプロパティ/設定/変数などに基づいて別のミラーから取得されることです。

4

3 に答える 3

2

2 つのシェル エイリアスを作成します。

alias build_at_home="mvn -s $HOME/.m2/home_settings.xml"
alias build_at_work="mvn -s $HOME/.m2/work_settings.xml"

「-s」オプションは、使用する環境設定ファイルを明示的に指定するのに便利です。このメカニズムを共有ビルド サーバーで使用して、各プロジェクト ビルドが分離されるようにします。

明らかに、Windows では一連のバッチ ファイルを作成できます。

于 2012-06-26T16:46:10.353 に答える
0

私が提案できる最も簡単な解決策は、git をインストールし、.m2/settings.xml (もちろん、.gitignore 経由でリポジトリ自体を無視します) を git にコミットし、顧客に適切なブランチを作成することです。設定の変更は次の方法で行います。

git checkout CUSTOMER_BRANCH

さらに、すべての変更は SCM によって追跡されます。

于 2012-06-26T06:10:59.400 に答える
0

私のプロジェクトにも非常によく似た要件があります。2 つの別個のsettings.xmlファイルを作成し、 と という名前を付けsettings_one.xmlsettings_two.xmlMAVEN_HOME. 必要なファイルに応じて、既存の settings.xml を 2 つの設定ファイルのいずれかで上書きする小さなスクリプト (Windows のバット ファイル) があります。

del C:\Users\<username>\.m2\settings.xml
copy C:\Users\<username>\.m2\settings_one.xml C:\Users\tadigotl\.m2\settings.xml
于 2012-06-26T05:28:01.590 に答える