4

私は2つのプロジェクトに参加しています。どちらもプライベートMavenリポジトリを使用しています(nexusを使用)。どちらも独自のサードパーティライブラリを使用しているため、プロジェクトごとに対応するミラーを設定したいと思います。幸い、project1のpom.xmlは自由に編集できます。

〜/ .m2 / settings.xmlがproject1にmirror1を使用し、デフォルトとしてmirror2(project2)を使用するように、いくつかの変数または設定を挿入する方法はありますか?

ええと..私は多くのstackoverflowの質問と回答を調べましたが、私はMavenの初心者であり、それらの回答を理解してプロジェクトに採用することができませんでした。

4

2 に答える 2

4

残念ながら、単一の設定ファイル内で複数のミラー定義をサポートする方法はありません。

2つのMaven設定ファイルを作成してから、Mavenビルドをパラメーター化する必要がありますmvn <cmd> -s <path/to/settings.xml>

于 2013-01-27T09:24:48.153 に答える
1

Maven 3.3.1の後、project-settings-extensionを使用してプロジェクト設定をロードし、プロジェクト固有のミラーを${basedir}/.mvn/settings.xml各プロジェクトに配置します。

${basedir}/.mvn/extensions.xml

    <extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
      <extension>
        <groupId>com.github.gzm55.maven</groupId>
        <artifactId>project-settings-extension</artifactId>
        <version>0.1.1</version>
      </extension>
    </extensions>

${basedir}/.mvn/settings.xml

<settings>
  <mirrors>
    <mirror>
      <id>id</id>
      <url>https://url-for-this-project/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>
于 2018-04-11T17:43:39.820 に答える