【问题标题】:Project Structure for Java EE7 using Maven (Core App Ejb, Children apps Ejb)使用 Maven 的 Java EE7 项目结构(核心应用程序 Ejb,子应用程序 Ejb)
【发布时间】:2014-03-07 16:02:38
【问题描述】:

我正在尝试使用 Maven 和 Eclipse 创建一个项目结构,我使用名为 jboss-ee6-webapp-ear-archetype (7.1.3.Final) 的原型,它生成了我想与 4 个项目一起使用的结构父、EAR、EJB 和 WEB。一旦我得到这个,我会修改每个 pom 文件以使用 Java EE7 和 Wildfly 8,直到一切正常,但现在我想添加一个新项目,该项目将包含此应用程序和其他应用程序的基本代码。 这个“核心”项目将包含 daos、ejbs、实体、实用程序等代码以及其他可用于 EJB 和 Web 项目的通用功能。

添加此项目的最佳方法是什么?,我想将其添加为子模块,但它创建了对父模块的依赖(这不好,因为它必须与其他项目共享),所以我将它添加为依赖项(jar),但是当它使用来自这个“核心”jar 的托管 bean 时会出现问题。我需要将其更改为 EJB 项目吗?

【问题讨论】:

    标签: eclipse maven java-ee-7 project-structure


    【解决方案1】:

    这个“核心”项目将包含 daos、ejbs、entities、utils 等代码 以及另一个可重用于 EJB 和 Web 的常见功能 项目。

    听起来您确实需要先将此“核心”项目拆分为多个子项目,然后再执行其他任何操作。完成之后,恕我直言,这种项目不应该真正包含完整的 EJB,而是可以在实际应用程序中实现为 EJB 的抽象基类(通常只需添加适当的注释/配置)。这将解决您的托管 bean 问题,您可以像应该的那样将其用作依赖项,因此它将是一个单独的多模块项目。

    由于您打算使用 Wildfly,我建议您查看 jboss 模块,这样您就可以将共享功能作为可以导入的模块。

    【讨论】:

    • 我尝试将 *.java(实体、服务等)移动到共享项目,但 EJB 项目没有找到它们。我在persistence.xml中尝试了这个: share.jar 和这个 lib/share.jar.
    • @jonathan 您需要使用正确的部署类路径配置。什么是正确的取决于您的部署布局。您是否将共享项目配置为 jboss 模块?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多