問題タブ [maven-reactor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3024 参照

maven - Jenkins maven-project プラグインは、reactor モジュールの除外をサポートしていません

モジュールの除外を Jenkins maven プラグインで動作させることができません。以下の出力を参照してください。

コマンドを同じジョブのビルド前のシェル ステップにコピーすると機能します。

スタック トレースでは、hudson-maven エージェントが干渉していることがわかります。主な違いは次のとおりです。

  • ハドソンの使用org.codehaus.plexus.classworlds.launcher.Launcher.launchStandardとシェルの使用...launchEnhanced
  • hudson は失敗するorg.apache.maven.DefaultMaven.trimSelectedProjectsが shell は失敗する...trimExcludedProjects

完全なスタック トレースは次のとおりです。

ビルド前のステップで存在しないモジュールを意図的に除外しようとしたときの失敗スタック トレースと比較してください。

私も-pl !gotham/java/dev-server構文を使用してみましたが、同様の後にスペースを入れないplようにしました-pl!gotham/java/dev-server

注:これらの実行には小さな違いがあります。シェルから直接実行されUsing local repository at /home/jenkins/.m2/repositoryたものはそうですが、プラグインを介して実行されたものはそうではありません。何が原因かはわかりませんが、関連しているとは思えません

maven-project プラグイン v. 2.8 (最新) で Jenkins バージョン 1.540 を使用しています。

0 投票する
2 に答える
1093 参照

maven - 子モジュールが個別にバージョン管理されている場合、maven リアクターの依存関係管理をどのように調整するのですか?

子モジュールが個別にバージョン管理されるリアクター pom があります。子モジュールは、メイン pom のバージョンから独立した独自のバージョンを宣言します。ただし、2 つの子モジュール間には依存関係があります。リアクター pom の実際のモジュールによって宣言されているバージョンを常に使用するように、この依存関係をどのように構成する必要がありますか?

ルート pom で依存関係管理を設定し、いくつかの暗黙的なプロパティを使用して子モジュールのバージョンを決定できると期待していますが、私が見つけることができる最良のオプションは次のとおりです。

または単に

ルート pom の依存関係管理は次のようになります。

新しいモジュールまたは依存関係が追加されるとリアクターの順序が変わる可能性があるため、信頼性がないように見えます。

たぶん、この使用シナリオは設計上推奨されていないので、その理由を知りたいです。

編集:コメントで示唆されているように、親 POM で子バージョンを持つグローバル プロパティを宣言することは、Maven の新しいバージョンのオプションになる場合があります。ただし、ワークフロー、リリース、ディレクトリとリポジトリの設定、一部のプラグインの使用法 (バージョン プラグインなど) など、より幅広い結果に関する分析を見たいと思います。たとえば、このアプローチの直接的な結果は、リリースする必要があることだと思います。子モジュールのいずれかがリリースされるたびに、親モジュール。これは実行可能ですが、独立したバージョン管理を行うという当初のアイデアに影響を与える可能性があります。

0 投票する
1 に答える
16450 参照

maven - maven -pl オプションを使用することとモジュールレベルから maven を実行することの違いは何ですか?

間に違いはありますか

私に関する限り、これら 2 つのアクションの結果は同じになるはずです。

ただし、動作はそれぞれのケースで異なるようです。前者の方が広範囲に見えます。後者はより早く終了します - そして私はそれがなぜなのかを理解しようとしています.

0 投票する
1 に答える
2066 参照

maven - リアクター POM でモジュール POM の「distributionManagement」をオーバーライドするにはどうすればよいですか?

私は、基本的に他のいくつかのスタンドアロンプ​​ロジェクトの周りのリアクターポンであるmavenプロジェクトを持っています。

    • モジュール1
      • サブモジュール1
      • サブモジュール2
    • モジュール2
      • サブモジュール3
      • サブモジュール4

モジュールはsubmoduleXさまざまな親 POMS から継承し (たとえばsubmodule1、 とは異なる親を持っていますsubmodule2)、私の管理外です。ただし、プロジェクトの成果物をいくつかのリポジトリにデプロイしたいと考えています。そのため、ルートリアクター pom<distributionManagement>で、アーティファクトのリポジトリが構成される設定を指定しました。

ただしmvn deploy、リアクター POM で実行している場合、サブモジュールは、ルート リアクター pom で指定されているリポジトリではなく、親 pom から継承されたリポジトリにアーティファクトをデプロイしようとします。ルートリアクター pom からこれをオーバーライドする方法はありますか、それとも運が悪いのでしょうか?

0 投票する
3 に答える
937 参照

maven - 親プロジェクトを Maven リアクター ビルドに含める

白紙の状態からすべてのプロジェクトを構築するために、集約 POM を作成しようとしています。親プロジェクトと 2 つのコード プロジェクトがあるとします。これらはすべて異なるソース ツリーにあります。

親:

プロジェクト A:

プロジェクト B:

今、私は別のアグリゲーター POM を作成して、これらすべてを一緒に構築しようとしています。

mvn clean installリアクタが2 つのコード プロジェクトの をaggregator見つけられないため、プロジェクトの実行は失敗します。<parent>理由は明らかです。parentプロジェクトはリアクターの一部であるため、ビルドの開始時にアーティファクトは存在しません。

この原子炉のビルドを達成する方法はありますか?