web-dev-qa-db-ja.com

SpringとMavenを使用したマルチモジュールWebプロジェクト

eachにいくつかのWebリソース(htmlページなど)が含まれているいくつかのプロジェクトがあると仮定します。

parent.pom
 +- web           (war)
 +- web-plugin-1  (jar)
 +- web-plugin-2  (jar)
 ...

webがデプロイ可能なwarプロジェクトであり、既知の選択可能なプラグインのセットに依存しているとしましょう。

Springmavenを使用してこれを設定する良い方法は何ですか?

  1. プラグインをwarプロジェクトにして、mavens poorを使用して他のwarプロジェクトをインポートできるようにする
  2. すべてのプラグインのすべてのWebリソースをwebプロジェクトに配置します
  3. すべてのjarweb-plugin-*依存関係のクラスパスにすべてのWebリソースを追加し、スプリングにそれぞれのクラスパスからファイルを読み取らせますか?
  4. その他?

以前は#1を使用してきましたが、mavenのwar依存関係のcopy-pasteセマンティクスは恐ろしいものです。

4
Johan Sjöberg

まあ、私はポイント3で作業するために使用し、親のpomですべての依存関係を定義します。

<parent>
    <groupId>cat.base.baseframe</groupId>
    <artifactId>projecte-pare-baseframe</artifactId>
    <version>0.0.11.a</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<modules>
    <module>ogc.domini</module>
    <module>ogc.logica</module>
    <module>ogc.ejb</module>
    <module>ogc.ear</module>
    <module>ogc.ui</module>
    <module>ogc.assistent</module>
</modules>

<dependencies>
    <dependency>
        <groupId>cat.base.cuesfeina</groupId>
        <artifactId>cuesfeina.domini</artifactId>
        <version>0.0.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>cat.base.gea</groupId>
        <artifactId>gea.domini</artifactId>
        <version>0.0.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>baseOnline.ajudes</groupId>
        <artifactId>ajudes.domini</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>cat.base.tramitador</groupId>
        <artifactId>tramitador.domini</artifactId>
        <version>0.0.4</version>
        <scope>provided</scope>
    </dependency>
<dependency>
        <groupId>cat.base</groupId>
        <artifactId>mme.domini</artifactId>
        <version>1.3.3</version>
        <scope>provided</scope>
    </dependency>

->

pomの親のすべてのものは、必要なものを見つけるのが簡単です。あなたがいくつかのサービスを呼び出す必要がある場合、私はejbのようなサービスを呼び出す関数を備えたパブリックjarを作成するために使用します...

2
ZaoTaoBao