1

私はまだMavenにかなり慣れていません。最終的には思い通りになりましたが、もう一度壊す必要があります。

これが私のシナリオです:

同じコア機能を使用する 2 つの異なるサーバー アプリケーションを作成する必要があります。ただ、そのフレームワークで行われることは非常に異なります。1 つのサーバー アプリケーションは非常に簡単/シンプルで、既に完了していますが、もう 1 つのサーバー アプリケーションははるかに複雑です。

コードは依存性注入スタイル (重要な場合は Guice を使用) で記述されているため、分割するのは非常に簡単です。

私の質問は次のとおりです。Maven を使用して、Eclipse でプロジェクトをどのように構成しますか? 次のような 3 つの異なるプロジェクトをセットアップしますか。

server-core
server-appEasy
server-appComplicated

各サーバーには独自のpomがあります。それとも、すべてを 1 つのプロジェクトにまとめますか? appEasyに取り組んでいる間、たとえば 1 か月後に簡単に再コンパイルできるようにする必要がありますappComplicated。のクラスappEasyは既にサブパッケージに含まれています。注:core少なくともモック依存性注入がなければ、それ自体では機能しません。mainクラスはありません。

私が考えていなかったものであっても、すべての考えが高く評価されました。

4

4 に答える 4

1

すべてをMaven Multi Moduleプロジェクトとして構築することをお勧めします。

親プロジェクトには、モジュールとしての 3 つのプロジェクト、サードパーティの依存バージョン、およびプロパティとしてのプロジェクトのバージョンがあります。

次に、server-appComplicated と server-appEasy で、server-core に依存関係を追加します。

この方法で得られるもの: 1- コンパイルするルート プロジェクト (親)。2 つのサーバーとコア ライブラリを生成します。2- バージョン番号と共通の依存関係を処理するポイント。

役立つことを願っています

于 2013-02-08T15:38:41.690 に答える
1

次のような構造になります。

/server
    /server-core
        pom.xml
    /server-appeasy
        pom.xml
    /server-appcomplicated
        pom.xml
    pom.xml

そのため、各プロジェクトには独自の pom.xml があり、そのプロジェクトを分離してビルドできます。

ただし、親フォルダーには pom.xml もあり、実行するとすべてのプロジェクトがビルドされます。これを行うには、プロジェクトをモジュールとして親 pom に含めます。

たとえば、親 pom.xml で

<modules>
    <module>server-core</module>
    <module>server-appeasy</module>
    <module>server-appcomplicated</module>
</modules>

親 pom tio で管理された依存関係を使用して、外部の依存関係とプラグインのバージョン番号を一元化することもできます。

于 2013-02-08T15:35:12.993 に答える
0

私は専門家ではありませんが、これが私の 2 セントです。各プロジェクトには独自の pom が必要です。すべてのプロジェクトをまとめてビルドする必要がありますか? その場合、すべての共通の依存関係を持つ親 pom を持つことが理にかなっています。

編集:その場合、プロジェクトごとに3つの別々の3 pomファイルがあるだけだと思います。

于 2013-02-08T15:24:50.423 に答える
0

これを行う方法は複数ありますが、デプロイ時の必要性に応じて異なります。「server-core」が「server-appEasy」および「server-appComplicated」アーティファクト間の共有アーティファクトであると仮定すると、以下のように提案します

  1. Maven プロジェクト「server-core」を作成する
  2. 「server-appEasy」および「server-appComplicated」という名前で 2 つのモジュール プロジェクトを追加します。
  3. モジュール プロジェクトの親が「server-core」として設定されていることを確認します。
  4. 最終的に、3 つのプロジェクト (それぞれに個別の pom.xml があります) が必要
    です。「server-core」をビルドすると、モジュールもビルドされます
    。「簡単な」モジュールと「複雑な」モジュールのいずれかを必要に応じて個別に構築すると、サーバーコアも構築されます。

お役に立てれば!

于 2013-02-08T15:35:07.843 に答える