3

管理者ユーザー用と通常ユーザー用の 2 つの異なる Maven ベースの JSF Web プロジェクト (Netbeans と Glassfish) があります。この方法の方が簡単なので、それらを別々に保ちたかったのです。エンティティ クラスは同じであり、これら 2 つの戦争プロジェクトでこれらのエンティティ クラスを共有したいと考えています。

これを行う最善の方法は何ですか?ユーザーと管理者が同じ UI を共有したくないのは、複雑すぎるためです。ユーザー インターフェイスを分けておきたいのですが、それは私にとってはるかに簡単で明確です。

どうもありがとう

4

1 に答える 1

5

両方のプロジェクトを少なくとも 4 つの Maven プロジェクトに分割することをお勧めします。

  • common-ejb: Maven プロジェクト タイプ「EJB」、そこにすべての EJB/エンティティを保持
  • customer-web: Maven プロジェクト タイプ「WAR」、「common-ejb」に依存する通常のユーザー用にすべての UI を保持
  • admin-web: Maven プロジェクト タイプ「WAR」、「common-ejb」に依存する管理ユーザー用のすべての UI を保持
  • common-ear: Maven プロジェクト タイプ「EAR」。EJB 依存関係として「common-ejb」が含まれ、2 つの Web プロジェクト (WAR) が含まれます。

EAR pom.xml は次のようになります。

<groupId>com.example</groupId>
<artifactId>example-ear</artifactId>
<version>1.0</version>
<packaging>ear</packaging>

<dependencies>

  <dependency>
    <groupId>com.example</groupId>
    <artifactId>example-ejb</artifactId>
    <version>${project.parent.version}</version>
    <type>ejb</type>
  </dependency>

  <dependency>
    <groupId>com.example</groupId>
    <artifactId>customer-web</artifactId>
    <version>${project.parent.version}</version>
   <type>war</type>
  </dependency>
  <dependency>
    <groupId>com.example</groupId>
    <artifactId>admin-web</artifactId>
    <version>${project.parent.version}</version>
   <type>war</type>
  </dependency>
<dependencies>

maven-ear-pluginコンテキストルートまたはライブラリの展開のカスタマイズが必要な場合は、ドキュメントを参照してください。

于 2012-11-14T03:19:29.617 に答える