【问题标题】:How to properly set a JavaEE project classpath in Eclipse?如何在 Eclipse 中正确设置 JavaEE 项目类路径?
【发布时间】:2011-10-30 20:45:33
【问题描述】:

我正在使用带有 OEPE 插件的 Eclipse indigo 在 Weblogic AS (10.3.5) 上开发具有多个应用程序的 JavaEE 系统。我关掉了我的电脑,重新打开它,启动了 eclipse,突然间我发现类路径错误到处都是(没有改变任何东西)。

现在让我直说:
1. 假设我有一个带有一个 EAR 项目的应用程序,该项目包含一个 EJB 项目和一个 EJBClient 项目(都在部署程序集中)。
2. 我编写了一个新的常规 Java 项目,我想在 EJB 和 EJBClient 项目中都使用它(它需要对它们可见)。
3. 据我所知,我可以简单地将这个 Java 项目添加到 EAR 项目的部署程序集中,它将对 EJB 和 EJBClient 项目可见。
4. 到目前为止,这一直对我有用,但现在我遇到类路径错误,我必须将此 Java 项目添加到每个项目的构建路径中。

在Eclipse中使用JavaEE技术应该如何设置类路径?

【问题讨论】:

  • 这是依赖于其他项目还是依赖于 Java EE API(@Stateless@WebServlet@Entity 等)的问题?
  • @Pedro 问题出在其他项目的依赖关系上。

标签: java eclipse jakarta-ee weblogic classpath


【解决方案1】:

经过一些调整,我设法解决了错误:

首先,我从每个常规 Java 项目的构建路径中删除了名为“EAR 库”的库(我不知道 Eclipse 为什么添加它们,它们不应该存在)。
然后,对于每个 EAR 项目,我删除并重新添加了不属于 EAR 的每个项目或 jar(常规 Java 项目、其他 EJBClient 项目等)。
这解决了找不到未包含在 EAR 中的类的问题,但后来出现“循环依赖”错误。
我将该错误缩小到导致它的项目 - 这是一个常规 Java 项目,它在其构建路径中使用某个应用程序的 EJBClient 项目,而 EJBClient 项目也在其构建路径中使用 Java 项目。
听起来微不足道,那为什么我一开始没有看到呢?好吧,我查看了应用程序的 EAR 项目,它在部署程序集中没有 java 项目,并且 EJBClient 没有 Java 项目作为“必需项目”。那么它在哪里呢?
该 java 项目位于 EJBClient 项目的“EAR 库”库中,根据 Eclipse,该库是根据“MANIFEST.MF”文件(顺便说一句是空的)自动生成的。
所以我只是从 EJBClient 项目的构建路径中删除并重新添加了“EAR 库”库,它解决了问题,现在一切正常。

总之,Eclipse 的 OEPE 插件似乎有一些需要修复的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多