問題タブ [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 に答える
770 参照

android - Maven / Android: 親プロジェクトから子モジュールのカスタム ターゲットを呼び出す

3 つの子モジュールを持つ Maven 集計 (親) プロジェクトがあります。これらのモジュールの 1 つは、デバイス エミュレーターにデプロイできる Android プロジェクトです。トップレベルの親プロジェクトから「mvn clean install android:deploy android:run」を実行し、すべての子モジュールで「mvn clean install」を実行し、「mvn android:deploy android:run」を実行できるようにしたいと考えています。私のAndroidモジュールのみで。継続的インテグレーション スイートと統合するには、すべての Maven コマンドを 1 行で実行できる必要があります。

これを行う方法はありますか (POM ファイルで特別な構成を使用するか、特定のコマンドライン引数を渡すことによって)?

ここの指示に従ってみました: Maven profile for single module。2 つのプロファイル (1 つはすべてのモジュールを含み、もう 1 つは Android モジュールのみを含む) をセットアップし、「mvn -Pall clean install -Pandroid android:deploy android:run」のようなものを実行しましたが、Maven は異なるプロファイル引数を異なるプロファイル引数として解析できませんでした。ターゲット。

どうもありがとう。

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

maven-2 - マルチモジュール maven-soapUI プロジェクトの問題

マルチモジュールのmaven-soapUiプロジェクトを作成するためにsoapUI mavenプラグインを使用しています。それぞれが独自の project.xml および pom.xml ファイルを持ついくつかの子 maven プロジェクトがあります。各子プロジェクトを個別に実行すると、正常に動作します。しかし、親プロジェクトを実行すると、子ディレクトリではなく親ルート ディレクトリで project.xml ファイルが検索され、失敗します。これに対する解決策はありますか?

子POM

親POM

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

maven-3 - maven3マルチモジュール子groupId

maven3では、マルチモジュールプロジェクトの子モジュールのgroupIdを親モジュールと同じに指定すると、警告が表示されます。これが別のgroupIdを使用する必要があることを示しているのか、それとも親groupIdを使用するためにそれを省略する必要があるのか​​がわかりません。

http://maven.apache.org/guides/mini/guide-naming-conventions.htmlによると

groupIdの粒度を決定する良い方法は、プロジェクト構造を使用することです。つまり、現在のプロジェクトが複数モジュールプロジェクトの場合、親のgroupIdに新しい識別子を追加する必要があります。例えば。org.apache.maven、org.apache.maven.plugins、org.apache.maven.reporting

そのため、各子は親とは異なるgroupIdを持つ必要があると私は信じています。あれは正しいですか?

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

maven - 特殊な構造を持つマルチモジュール プロジェクトでの Maven アセンブリ

私は Maven を初めて使いましたが、Maven がどのように機能するかを理解し始めたと思います。しかし、Maven アセンブリ プラグインを理解できません。私が達成したいのはこれです:

すべてのプロジェクトがそれぞれの依存関係とともにパッケージ化されたら、それらすべてをターゲット ディレクトリに配置したいと考えています。システムはモジュールに基づいているため、それらを 1 つのスーパー jar にパッケージ化したくありません。

説明させてください.mavenプロジェクト「common」にメインプロジェクトであるサーバーがあり、「core」と「android」の2つのモジュールがあります。common フォルダーには、コピーしたい conf フォルダーもあります。私はこの構造が欲しい:

  • ターゲット/common.jar
  • target/conf/ (構成ファイル)
  • ターゲット/モジュール/core.jar
  • ターゲット/モジュール/android.jar

私のプロジェクト構造はこれです:

  • pom.xml (親プロジェクト)
  • common/ (maven モジュール)
  • core/ (maven モジュール)
  • android/ (maven モジュール)

助けてくれてありがとう、または正しい方法でのポインタ。:)

編集ここに 100% 動作する ant ビルド ファイルがあります。

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

maven - Spring Roo を使用したハイブリッド マルチ モジュール Maven プロジェクト - 複数の JPA 永続ユニット

一部のプロジェクトはSpring Rooによって管理され、他のプロジェクトは独立しているハイブリッドマルチモジュールmavenプロジェクトを作成しようとしています。

これまでの私のプロジェクト構造は次のとおりです。

ルート プロジェクト (ルート POM)
|
| | -- commons    (maven モジュール、Spring Roo Managed、JPA Persistence モジュール)
| --コア           (Maven モジュール、Spring Roo マネージド、JPA 永続性モジュール)
| -- backoffice (maven モジュール、Spring Roo Managed、WebApp)
| -- frontoffice (maven モジュール、WebApp)

Maven の依存関係:
- Backoffice < Core < Commons
- FrontOffice < Core < Commons

ここまでは順調ですね。Spring Roo を使用して、成果物を作成し、上記のプロジェクトを管理できます。ただし、両方の永続モジュールでSpring rooを使用しているため、2つのjpa永続ユニットがあります。その責任を FrontOffice または BackkOffice Web アプリケーションに委任したいのですが、永続化モジュールは Spring Roo を使用して管理されているため、JPA 構成が必要です。

一部のモジュールが Spring Roo で管理されている場合に、マルチモジュールの Maven プロジェクトを編成する方法について何か提案はありますか?

あなたの助けとアドバイスをありがとう

よろしくお願いします

JSimas

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

java - Maven マルチモジュール プロジェクトのビルド順序は?

状況は、同じ構造を持つ 2 つの Maven マルチモジュール プロジェクトがあります。

プロジェクト 1 をビルドすると、親が最初にビルドされていることがわかります (順序はparent->module1->module2 です)。ただし、プロジェクト 2 では、最後に親がビルドされます (順序はmodule1->module2->parent )。2 つのプロジェクトのビルド順序が異なるのはなぜですか? さらに、ビルド順序を手動で制御するにはどうすればよいですか?

更新 1:
両方の親プロジェクトはソース コードのない単純な POM プロジェクトであるため、依存関係グラフに従ってビルド順序を説明することはできません。

更新 2:
親 POM は、GAV と子モジュールの名前を除いて同じです。

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

eclipse - マルチモジュール プロジェクトの Eclipse で Jetty Maven プラグインを使用してデバッグする:コンパイル ユニットがビルド パスにない

Jetty Maven プラグインを使用して、Eclipse でマルチモジュール プロジェクトを実行したいと考えています。プロジェクトは問題なく実行され、実行mvn jetty:run-exploded中の構成ファイルは正しく処理されます。

Maven セットアップ:

Eclipse セットアップ: プロジェクトとすべてのモジュールはワークスペース内の Maven プロジェクトであり、モジュール プロジェクトも Java プロジェクトです。

標準の Jetty 構成を /module-service/pom.xml に追加し、さらに module-service/pom.xml で Maven を実行しました

ただし、コンテンツ アシストを使用するときに、デバッグしたいときに次のエラーが発生します。

このコンパイル ユニットは、Java プロジェクトのビルド パス上にありません。

また、ホットコード交換は機能しません。しかし、変数とすべてのブレークポイントは正しく検出されています! 私が見ているのは、親プロジェクトでファイルを開くエディターです(そして、副作用として、エディターには別のJavaファイルアイコン、完全な青いJではなく空の青いJがあります)。

これまでに試した解決策:

  • Java ファセットを親プロジェクトに追加する > ソース フォルダーは正しく検出されますが、親プロジェクトにはモジュールのすべてのライブラリへのポインターがないため、多くのビルド パス エラーが発生します。
  • module-service プロジェクトのビルド パスにモジュールを追加します。
  • デバッグ構成でResolve Workspace artifactsをチェックすると (エラー "Failed to copy file for artifact" が発生する)、ここで解決できる可能性がありますが、方法がわかりません。

jetty-maven-plugin バージョン 8.1.4.v20120524 を使用しています。

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

maven - ネストされたモジュールでマルチモジュールMavenプロジェクトをパッケージ化する方法

Mavenに、正しくコンパイルされるマルチモジュールプロジェクトがありますが、正しくパッケージ化されていません。

メインのMavenpom.xmlには、次のようなモジュールが含まれています。

Mavenの規則とは異なり、テストコードのコンパイルの依存関係はメインのソースコードの依存関係とは異なるため、このプロジェクトではテストソースツリーを個別のモジュールとしてコンパイルする必要があります。したがって、解決策は、すべてのテストモジュールをセットアップして、メインのソースモジュールに依存し、正しい順序でコンパイルされていることを確認することです。

このプロジェクトのディレクトリ構造は非常に非標準的です。私はpom.xmlをそれらが属すると思う場所に配置しました。ただし、このディレクトリ構造を変更することはできません。制御できません。これは次のようなものです。

通常のソースモジュールのpom.xmlは次のようになります。これは完全に機能します:

テストモジュールのpom.xmlは次のとおりです。

ただし、テストモジュールはメインモジュールのサブディレクトリであるため、module.testをパッケージ化しようとすると、次のエラーが発生します。

何らかの理由で、Mavenは、以前にビルドしたばかりであるにもかかわらず、リポジトリからこのjarをフェッチする必要があると考えています。

module1 / testのpom.xmlを他のレベルと同じように親レベルに移動する必要がありますか?pom.xmlを移動せずにこれを修正するにはどうすればよいですか?

ありがとう

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

maven - Mavenマルチモジュールプロジェクトで依存関係はどのように共有されますか?

これがどのように機能するかについて少し興味があります-Mavenマルチモジュールプロジェクトに5つのモジュールプロジェクトがある場合、そのプロジェクトを依存関係として追加せずに、コンテンツとパッケージを他のモジュールにインポートできますか?または、他のモジュールの構造/関数を使用するために、実際には.jar(またはスナップショットjar)が必要ですか?

ありがとうございました、

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

maven - Mavenは、マルチモジュールプロジェクトに循環参照があると言いますが、理由がわかりません

次のようなマルチモジュール プロジェクトがあります。

  • モジュール1
    • pom.xml
  • モジュール2
    • pom.xml
  • pom.xml

module2 の pom.xml は、module1 に依存しています。

mvn clean compile を実行すると、次のエラーが発生します。

リアクタ内のプロジェクトには循環参照が含まれています。

module1 の依存関係は次のとおりです。

循環参照があると言う理由がわかりません。module1 で mvn dependency:tree を実行しても、次のようになります。

module1 には module2 への参照がないように見えます。では、循環参照はどこから来ているのでしょうか?

編集:デバッグをオンにしたログは次のとおりです。