3

我有两个不同的基于 Maven 的 JSF Web 项目(Netbeans 和 Glassfish),一个用于管理员用户,另一个用于普通用户。我想让它们分开,因为这样更简单。实体类将是相同的,我希望这两个战争项目共享这些实体类。

这样做的最佳方法是什么?我不希望用户和管理员共享相同的 UI,因为它变得太复杂了。我想让他们的用户界面分开,这对我来说更容易和清晰。

非常感谢

4

1 回答 1

5

我建议您将两个项目分成至少 4 个 Maven 项目:

  • common-ejb:maven 项目类型“EJB”,保留所有 EJB/实体
  • customer-web:maven 项目类型“WAR”,为普通用户保留所有 UI,依赖于“common-ejb”
  • admin-web:maven 项目类型“WAR”,为管理员用户保留所有 UI,依赖于“common-ejb”
  • common-ear:maven 项目类型“EAR”,包括“common-ejb”作为 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 回答