【问题标题】:Eclipse EAR project structure in eclipseeclipse中的Eclipse EAR项目结构
【发布时间】:2014-07-04 15:11:22
【问题描述】:

在过去的几年里,我一直在使用 Java EE 6 和更简单的应用程序结构,其中只有一个 ejb 和一个 war 项目。

现在我们有一个更复杂的项目,我需要在其中添加其他模块: - JPA 包 - 自动化测试应用程序的客户端接口

于是我开始在eclipse中创建以下项目:

  • 客户项目
  • JPA 项目引用客户端项目
  • 同时引用客户端和 JPA 项目的 EJB 项目
  • WAR 项目,应该使用 EJB 项目中的服务和 JPA 项目中的 pojo 类
  • EAR 项目包含所有这些

将项目打包在一起,我面临不同的问题:

  • “在项目的构建路径中检测到循环......”因为多个项目正在引用客户端项目,并且它被打包到EAR
  • 注释处理出错:{0}。 java.lang.NoClassDefFoundError

我试图解决这些问题。我已经提出了解决方案,但它们都不起作用。 例 1:我已将打包简化为仅 JPA + Client + EAR,但这也给了我循环检测错误。当我关闭错误时,我得到了第二个错误。

Ex 2.:尝试简化构建路径依赖关系,但没有成功。

我也一直在考虑合并 EJB + JPA 项目,也许这会奏效。

但我的问题是:使用 Eclipse 进行开发,对于包含客户端接口、ejb、jpa 实体和仅使用客户端接口的独立测试器应用程序的 EAR 应用程序,所需的(项目和依赖项)结构是什么?

感谢您的帮助!

【问题讨论】:

    标签: eclipse jakarta-ee setup-project ear glassfish-4


    【解决方案1】:

    首先,对于您的组件,您不需要 EAR 文件,对于 Java EE 6 应用程序来说,WAR 文件就足够了(请参阅Java EE 6 tutorial on that topic)

    其次,我的建议是不要使用 eclipse 向导创建的项目布局,而是使用基于 maven 的原型(例如Knappsack Archetypes),这将为您提供更简单和标准化的布局。

    【讨论】:

    • 嗨,WAR 对我来说还不够,因为我们需要不同的 war 文件来访问打包在 ear / ejb 数据包中的远程 bean。另一件事:我们不使用maven,目前我的开发团队太初级,无法使用它。我也遇到了一些问题,目前我们没有任何有 maven 经验的程序员。
    • 嗯,Maven 确实需要更多的专业知识,但我认为每个软件工程师都应该可以使用它 - 更不用说您获得的其他优势,例如轻松使用它詹金斯。但是,您仍然可以从这样的原型创建项目并调整布局并使用 Ant 自己构建工件。而对于 eclipse,您可以使用外部工具配置来开始部署。
    • 嗨,我们有一个新程序员,他刚刚检查了这些背包原型。问题是它们都打包为一个war文件。由于我们还需要客户端接口项目被不同的应用程序调用,这种结构对我们没有帮助。
    • @csabee 结帐this fullblown maven based project layout example。或者关注Adam Bien's modularization example 并把罐子也拿给客户使用就足够了。
    猜你喜欢
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多