【问题标题】:java EJB: The import javax.ejb cannot be resolvedjava EJB:无法解析导入 javax.ejb
【发布时间】:2012-03-22 20:57:44
【问题描述】:

我正在阅读 WebSphere Application Server Community Edition 入门一书。

我使用 Eclipse EE 创建了一个 EJB 项目。

import javax.ejb.Local;

错误:无法解析导入 javax.ejb

我不知道为什么我不能导入这个类。

谢谢

【问题讨论】:

  • 我找到了答案。我安装了 WAS 7.0 - 我可以将 j2ee jar 添加到我的类路径中,或者我安装了具有 javaee.jar 的 Glashfish3;我也可以将它添加到我的类路径中
  • 具体来说,WAS_HOME/dev/JavaEE/j2ee.jar 用于编译。
  • 那个 jar 和 WAS_HOME/lib/ 中的有什么区别?
  • WAS_HOME/lib/ 是产品内部。 IBM 可能决定在未来的发行版中删除或重命名 JAR。它可能适用于您的本地安装,但对于编译脚本(批处理、ant 等)来说不是一个好主意。最佳实践是使用 WAS_HOME/dev/。
  • 如果您在 GlassFish Server 中部署 bean,那么您将在 %GLASSFISH_HOME%/modules/javax.ejb.jar 中获得这些 jar 文件,这将解决问题类型解析。

标签: java ejb


【解决方案1】:

可能问题下的 cmets 已经回答了这个问题,但以防万一需要澄清:

1)在Eclipse中,右键项目-->属性-->java构建路径

2) 点击添加外部JAR

3) 添加 c:\glassfish4\glassfish\lib\javaee.jar (这个 JAR 的目录路径当然可以不同。)

--> 好的对话框,现在 Eclipse 应该可以看到 javax.ejb.* 类了。

【讨论】:

  • 作者应将此答案标记为正确答案。是的,它有效!谢谢!
【解决方案2】:

请注意,此 jar 文件在开发中很有用,但您不需要(不应该?)将它与您的 war 或 ear 文件一起部署,因为应用程序服务器容器有自己的运行时 Java EE 环境。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2022-01-05
    • 2017-05-31
    • 2014-01-05
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多