gpt4 book ai didi

jsf - 两个不同的 Maven Web 项目如何共享同一个 EJB

转载 作者:行者123 更新时间:2023-12-01 11:49:05 25 4
gpt4 key购买 nike

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

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

非常感谢

最佳答案

我建议您将两个项目拆分为至少 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 doc 如果您需要对上下文根或库部署进行一些自定义。

    关于jsf - 两个不同的 Maven Web 项目如何共享同一个 EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372348/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com