1

Mavenで再利用可能な依存関係の定義とプロファイルを作成する最良の方法は何ですか?

統合テストの依存関係とプロファイルを別の pom に外部化したいと思います。これは、他の maven プロジェクトに含めることができます (単一の親 pom から継承するのではありません)。後で、コンソールとEclipseの両方から異なるアプリケーションサーバーで統合テストを実行するときに、プロファイルをアクティブ化できます。

integrations-tests
    pom.xml (contains Arquillian dependencies and profiles)
        profile:jboss-remote
        profile:tomcat-embedded
        dependencies:Arquillian,Java EE,MavenShrinkWrap etc.
project1
    pom.xml
        dependency:integration-tests (or other way to include)
project2
    module1
        pom.xml
            dependency:integration-tests (or other way to include)

mvn test -P jboss-remote (profile from integrations-tests)
mvn test -P tomcat-embedded (profile from integrations-tests)

プロファイルは多くの開発者や CI サーバーで再利用できるはずなので、ローカルの settings.xml をいじりたくありません。

4

2 に答える 2

0

実際、それは良い興味深い質問です。

要するに、あなたが望むものを達成する良い方法はありません. あなたが探しているのは、構成を共有するための Mix-in のようなものですが、Maven (現在) で構成を共有するための主な方法は、主に継承によるものです。

したがって、おそらくできる最善の方法は、これらの共有構成をすべて親 POM に配置し、プロファイルを使用してオン/オフすることです。ただし、あるモジュールでオンにして別のモジュールでオフにしたい場合は、難しい場合があります。

Mix-in は、依存関係スコープのインポートとしてのみ使用できます。ただし、使用はかなり制限されています (依存関係管理にのみ影響します)。要件の一部に役立つかどうかを確認することができます。

于 2013-09-05T08:12:26.173 に答える
0

これを実現するには、maven pomの構成を確認する必要が<dependencyManagement>あります。依存関係の管理ビルド プロファイルに関する Maven ノートを参照できます(後者は日付が付けられています)。<pluginManagement>

externalizing必要な要件の種類に応じて、チャレンジプロファイルがある場合があります。

于 2012-06-21T06:09:40.950 に答える