【问题标题】:Jar to include to use javax.annotation.*包含使用 javax.annotation.* 的 Jar
【发布时间】:2012-11-15 07:49:46
【问题描述】:

我有点困惑。我需要在 jDeveloper 11.1.1.6.0 中编译一个项目。项目的服务器端部署在 Glassfish 服务器上。在项目创建者的机器上,一切编译都没有任何问题。

使用项目properties -> Libraries and Classpath 我添加了来自$glassfish_home/glassfish/modules 和其他一些库(例如hibernate3.jar 来自休眠目录)的gf-client.jar、安全等库。

当我尝试编译项目时,我收到以下错误:

包 javax.annotation.security 不存在

包 javax.persistence 不存在。

我想我错过了一些要包含的罐子。我试图找出哪些 jars(来自 Glassfish 或来自 JDK)包含 javax.annotation.*javax.persistence.* 但我找不到。

如果您有任何想法,我将不胜感激!

【问题讨论】:

  • 您是否尝试过添加对这个工件的依赖:mvnrepository.com/artifact/javax/javaee-api/6.0
  • 感谢您的回复,@PiotrNowicki!我下载了javaee-api-6.0.jar 并以同样的方式添加了它。我仍然收到这些错误消息。如果我说下载的 jar 文件只包含方法等的声明而不包含实现,我是对的吗?难道是这个原因,因为根据页面信息,我需要的所有包都在那里。
  • 这些包/API仅用于编译-正如您所说,这些只是接口/声明-没有实现。该实现将在部署环境中可用。有趣的是为什么会出现编译时错误...

标签: ejb glassfish-3 jdeveloper


【解决方案1】:

我遇到了同样的问题,并且能够通过向 Maven pom.xml 文件添加几个依赖项来解决它。 See this answer 了解更多详情。

【讨论】:

    【解决方案2】:

    所以我找到了问题的根源。该应用程序由 2 个项目组成,其中只有一个(问题中提到)使用 EJB。我不确定它是否应该是这样,但我尝试将 ejb 文件添加到另一个项目。在clean allrebuild all 之后,它对我来说就像一个魅力。我希望这对将来的人有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 2020-02-28
      • 1970-01-01
      • 2015-12-27
      • 2014-02-16
      • 1970-01-01
      相关资源
      最近更新 更多