2012-11-14 70 views
3

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

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

非常感谢

回答

5

我建议你们俩你的项目分成至少4个Maven项目:

  • 共EJB:Maven项目类型“EJB”,保留所有的EJB的/实体有
  • 客户网络:Maven项目类型“战争”,保持了普通用户的所有UI,与依赖于“共同的EJB”
  • 管理的Web:Maven项目类型“战争”,保留所有的管理员用户的UI,依赖于'common-ejb'
  • common-ear:maven项目类型'EAR',包括'common-ejb'作为EJB依赖项,并包含2个Web项目(WAR)。

耳朵的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文档,如果您需要上下文根或库部署的一些定制。

+0

太棒了!感谢非常感谢的帮助。 – Pinchy

相关问题