1

私のJava SEプロジェクト/システムは、以下のような複数のコンポーネントで構成されており、多くの共有ライブラリと多くのアプリケーション/実行中のプロセスが存在する可能性があります. 以下の 3 つのコンポーネントの例では、「システム 1」が構成されています。

システム 1: 1. 共通ライブラリ - 共有コード用 2. アプリ 1 - 共通ライブラリを参照する独自のコードを持つアプリ/プロセス。3. アプリ 2 - 共通ライブラリを参照する独自のコードを持つアプリ/プロセス。

この構造をサポートするように Maven/Intelij をセットアップするにはどうすればよいですか?

現在、groupId を 'com.MyCompany.System1' として、コンポーネントの Mavan モジュールを artifactIds として 'com-MyCompany-System1-common' などとして持っています。

これは正しい方法ですか、またはこの構造をサポートするためにMavenをどのように配置する必要がありますか?

前もって感謝します。

4

1 に答える 1

3

典型的なMavenマルチモジュールセットアップがニーズに応えるはずです。IntelliJ については、Maven でセットアップしてから、maven pom を IntelliJ にインポートするだけです。それはうまくいくでしょう。pom ファイルをプロジェクトとして開くだけで、IntelliJ がすべてを正しくセットアップします。

アドバイス:

  1. 前もって作業が増えるように感じても、プロジェクトを明確に定義されたモジュールに分割できればできるほど、最終的にはより幸せになります。
  2. 私は、artifactId で groupId を繰り返さないでしょう。artifactId は明確に異なる必要がありますが、それほど明確ではありませ
  3. オプションである場合は、代わりにGradleの使用を検討してください。これはビルド ツールにおける Maven の次の論理的なステップであり、モジュールの数が増えるにつれて労力が大幅に削減されます。Gradle/IntelliJ の相互作用は、Maven/IntelliJとほぼ同じです。少し手間がかかりますが、トレードオフはそれだけの価値があります。

ソース: 100 を超える Maven と Gradle モジュールが混在しており、3 年間 IntelliJ を使用して構築および作業してきた 30 を超えるソース コード リポジトリに分散しています。

于 2013-01-28T17:40:27.153 に答える