問題タブ [multi-module]

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 に答える
5644 参照

git - 単一のGitリポジトリでホストされているマルチモジュールMavenプロジェクトをリリースする

単一のgitリポジトリに含まれるマルチモジュールプロジェクトの個々のモジュールをリリースしようとしています。

フォルダ構造は次のようになります。

<modules>親pomは、タグを使用することで意味のある方法ですべてのサブコンポーネントを構築する方法として使用されます。本質的には、API、データベース、コアの順に構築します。

プロジェクトはSVNでホストされて開始され、mavenタグのリポジトリ内のさまざまなパスをポイントするだけで、コマンドをscm簡単に再生できました。maven releaseこれはGitには当てはまらないようです。

実行mvn release:prepareすると、必要に応じてapi pomに変更が加えられますが、実行mvn release:performすると、親pomのビルドが試行され、database / pom.xmlにリストされているapi-snapshot依存関係を解決できないため、データベースパッケージのビルドに失敗します。 。

Gitリポジトリ内の特定のモジュールをリリースできるようにscmタグを構成するにはどうすればよいですか?これも可能ですか?

編集:pomサンプルの追加

pomファイルがどのように表示されるかのセットアップ例を次に示します。

親pom.xml

api / pom.xml

pomはdatabaseに非常によく似apiていますが、に依存していapiます。同じことがcore、に依存しますdatabase(そしてそれを通してapi)に依存します。

apiただし、アーティファクト自体は、クライアントAPIとバックエンドAPIdatabaseを定義するように、それ自体が重要です。これらは両方とも、アプリケーションとの統合に使用されます。これから、それらを別々にリリースするという当初の考えが生まれます。親pomは、スタック全体をより簡単に構築できるようにするための後付けにすぎません。apidatabase

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

maven - マルチモジュールのジャージ Web サービスをコンパイルして実行する方法は?

私はmavenを初めて使用し、このチュートリアルに従って新しいマルチモジュールジャージWebサービスを作成しようとしています. だから今、私のプロジェクトは3つのmavenモジュールで構成されています:

今、私はMavenプロジェクトが初めてなので、これらのモジュールをコンパイルしてWebサービスを実行する方法がわかりません。これら 3 つのモジュールのいずれかを更新する場合、どのコマンドを使用すればよいですか?

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

maven - マルチモジュール プロジェクトで特定のモジュールの Maven プロファイルを有効にする方法

親POMと5つ以上のモジュールで構成されるマルチモジュールMavenプロジェクトがあります。

カスタムの「自動デプロイ」プロファイルを有効にすると、各モジュールをビルドの一部として実行中のサーバーにデプロイできます。これは、モジュールごとにデプロイされる方法/内容が少し異なるため、各モジュールで明示的に定義されています。

ただし、親POMからビルドする場合、「自動デプロイ」プロファイルをアクティブにすると、Mavenはすべてのモジュールをデプロイすることになります.これは、(開発プロセスなどに基づいて)私たちが行う必要があることはほとんどありません. ただし、複数のモジュール間で変更があり、一部のモジュール間に依存関係があるため、ルートからビルドしたいと考えています。

親 POM からビルドするときに、すべてではなくモジュールの 1 つだけに対してカスタムの「自動デプロイ」プロファイルをアクティブにする方法はありますか?

ありがとう

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

maven - マルチモジュール プロジェクトの一部のモジュールに JNI を追加する

私のマルチモジュール プロジェクトには 10 個のモジュールが含まれており、そのうち 3 個にはサードパーティの jni が必要です。3 人は、テスト実行のために jni アーティファクトを解凍し、その場所を LD_LIBRARY_PATH に追加する必要があります。

この状況を処理するためのエレガントな方法は何ですか?

  • 依存関係を追加し、maven-dependency-plugin 実行の確実なプロパティを介して 3 つのモジュールに展開します (dont-repeat-yourself 原則に違反し、スケーリングしません)。
  • これらの手順で中央 pom のプロファイルを使用し、needsFooJni プロパティでアクティブ化します (プロファイルはモジュールごとではなく、プラットフォームまたはその他のビルド全体のニーズに使用する必要があります)。
  • トップレベルの pom のプロパティによって制御される実行を使用します (少し壊れやすいようです)。

それで、この種の状況を処理するためのエレガントなmavenの方法は何ですか。そのため、私のネイティブの依存関係はテスト段階で使用されます。

ありがとう

ピーター

0 投票する
4 に答える
5326 参照

maven - マルチモジュールのMavenプロジェクトを作成する理由と時期

Mavenのマルチモジュールプロジェクトについて一般的な質問があります。いつ、なぜそれを選ぶのですか?

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

java - マルチモジュラー プロジェクトで ear モジュールを親モジュールとして定義することは可能ですか?

マルチモジュラー プロジェクトで ear モジュールを親モジュールとして定義することは可能ですか?

次のプロジェクト構造があります。

  • モジュール EAR-1 は ModuleA と ModuleB の集約です
  • モジュール EAR-2 は、ModuleA と ModuleC の集約です。

どちらも展開する耳を生成する必要があります。

親モジュール用のダミーモジュールを持ちたくありません。グローバルな依存関係と構成を既存のプロジェクトにパックしたい。

これらすべての一般情報を配置するのに適切なモジュール/pomはどれですか。このポンポンは私の親ポンポンになります。

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

maven - Mavenマルチモジュールプロジェクト+ルートpomプラグイン

私はMavenマルチモジュールプロジェクトを持っていますが、この構成を配置するとなぜですか?

ルートpomとmvnでプロジェクトをインストールすると、rebel.xmlファイルは生成されません。mvn org.zeroturnaround:jrebel-maven-plugin:1.1.3:generateを使用して生成できますが、これはtarget / classesの下にrebel.xmlを作成するだけで、jar\warパッケージには含まれません。

しかし、上記の構成を個々のMavenモジュールに入れると、インストール中に生成され、process-resourcesに従ってパッケージに含まれます。

しかし、すべてのモジュールでプラグインを複製したくはありませんが、ルートpomにプラグインを配置するだけで、インストール中にrebel.xmlファイルを生成し、パッケージに含める必要があります。

Mavenがどのように機能するかがわかりませんか?

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

java - マルチモジュール アプリケーションの Maven

メインプロジェクトがサブモジュールに依存するマルチモジュールmavenプロジェクトがあります。サブモジュールのすべての依存関係は、次のようにバージョンごとに定義されます${pom.version}。Mavenリリースプラグインを使用しています。リリースを準備しようとすると、サブモジュールのバージョンが見つからないというエラーが発生しました。

例:

main pom は version1.0にあり、リリースしようとしています。Maven はすべてのサブモジュールを version1.1にビルドしてから、親をビルドしようとするとクラッシュします。見つからないからsub-module-1.1です。

Mavenにビルドするように指示する方法がわかりません。ビルドするサブモジュールごとにローカルレポにすぐにインストールします。私はmaven2を使用しています。

私のポン:

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

eclipse - Eclipsem2eマルチモジュールプロジェクトのチェックアウトとMavenへの変換

私は最近、いくつかの事実調査/デバッグを行うためにapacheプロジェクトをチェックアウトする必要がありました(具体的には、maven-surefire-plugin、この質問を参照してください)。これは、他のほとんどのApacheプロジェクトと同様に、Mavenマルチモジュールプロジェクトです。そこで、Eclipseで、SVNリポジトリブラウザを開き、新しいリポジトリを追加して、プロジェクトを見つけますright-click->Checkout...。ウィザードCheckout as a project in the workspaceで、プロジェクトの名前をクリックして入力します。

私はプロジェクトを持っています、今私はeclipseにそのMavenプロジェクトを知らせる必要がありright-click->Configure->Convert to Maven Projectます。これで、親プロジェクトはMavenプロジェクトになります。私はできますright-click->Run As->Maven Build、そしてそれは働きます。ただし、すべてのモジュールは単なるフォルダーです。Eclipseは、ソースコードがどこにあるか、またはソースコードが存在する場合でも、それについて何も知りません。単一のモジュールプロジェクトでは、ソースフォルダー、ビルドフォルダー、およびその他の構成が自動的に設定されます。さらに、マルチモジュールプロジェクトを最初から作成する場合は、最初に親プロジェクトを作成し、モジュールを追加すると、それぞれが親プロジェクトの下にある物理ディレクトリを持つEclipseの個別のプロジェクトとして表示されます。デフォルトのMavenビルドプロセスで必要に応じてフォルダー。

これで、新しいプロジェクトを作成するときにどのように行われるかがわかったのでFile->New->Project...、選択General->Projectして、プロジェクトに名前を付け(モジュール名と一致させます)、チェックを外して、親プロジェクトフォルダー内のモジュールへのパスにUse default location設定します。Location:をクリックしFinish、他のモジュールごとにプロセスを繰り返した後、私は期待するものに似たものを手に入れました。ここで、親プロジェクトと同じ方法で、すべての個々のモジュールをMavenモジュールに変換する必要があります。素晴らしいです、それらはすべてMavenプロジェクトですよね?

それで私はそれらを開きます、そしてソースフォルダは設定されていません。

ああ...それから私は各プロジェクトに行き、それをひねって開き、そして私がsrcフォルダに置くright-click->Build Path->Use as Source Folder。泡立てて、すすぎ、繰り返します...すべてのプロジェクトを完了すると、このプロジェクトを最初から始めたように見えます。物事は機能します。

私の質問は、それは本当にこれほど難しいのかということです。ショートカットがありませんか?Configure->Convert to Maven Project親のpomがそれがマルチモジュールプロジェクトであることに気づき、私のためにすべての作業を行ったとしたら、それは意味がありませんか?これは、apacheプロジェクトにとって非常に苦痛なプロセスです。すべてのプロジェクトに多くのモジュールがあるように見えるからです...より良いプロセスを知っている人はいますか?

0 投票する
0 に答える
142 参照

maven - Maven マルチモジュール データ アグリゲータ

基本的に次のことを行う必要があるmavenプラグインを開発する必要があります。

マルチモジュール プロジェクトの構造は次のようになります。

サンプルプロジェクト

集約POM

各モジュールのレビュー フォルダーには、XML ファイルがあります。これで、プラグインはそれらの XML 内の特定のエントリの数をカウントし、カウントの詳細を含むテキスト ファイルを生成する必要があります。テキスト ファイルは、その特定のモジュールのカウントを使用して、モジュールごとに生成する必要があります。また、すべてのモジュールの合計数を含むテキスト ファイルが生成されます (累積レポート)。私はこれを機能させましたが、プラグインはすべてのモジュールに対して一度実行され、次にルートレベルで実行され、そのような XML についてすべてのモジュールを再度スキャンします。すでに利用可能なすべてのモジュールの数から合計数を取得する方法が必要です。私はプロセスが再び起こることを望んでいません。@aggregator を試してみましたが、役に立たないようです。

より良い解決策はありますか?