【问题标题】:Supported source version RELEASE_6 from annotation processor org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor less than source1.7注释处理器 org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor 支持的源版本 RELEASE_6 低于 source1.7
【发布时间】:2014-05-27 11:50:14
【问题描述】:

我有一个企业应用程序在以下环境中运行。

  • Mojarra 2.2.7
  • PrimeFaces 5.0 最终版
  • PrimeFaces 扩展 2.0 最终版
  • OmniFaces 1.8.1
  • EclipseLink 2.5.2 具有 JPA 2.1
  • GlashFish 4.0
  • NetBeans IDE 8.0
  • JDK 1.7

我已将所有三个模块(Java EE 模块、EJB 模块和 WAR 模块)中 nbprojectproject.properties 文件中的源级别从 1.6 更改为 1.7,以支持 Java EE 7。它是 不是一个 Maven 项目。

  • j2ee.platform=1.7
  • javac.source=1.7
  • javac.target=1.7

之前它们都是 1.6。


进行这些更改后,清理项目时会出现以下警告。

警告:注释中支持的源版本“RELEASE_6” 处理器 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' 小于 -source '1.7'

我正在使用 EclipseLink 元模型生成器 1.3.0final 来生成静态元模型。

除了将源级别降级到 1.6 之外,还有其他方法可以消除此警告吗?这个警告有什么不兼容的地方吗?


更新:

此警告在 EclipseLink 2.6.1(自 2015 年 10 月 15 日星期四起可用)中不再重现,使用捆绑包提供的相应元模型生成器 - org.eclipse.persistence.jpa.modelgen_2.6.1.v20150916-55dc7c3.jar

目前在 GlassFish 4.1/Java EE 7 上使用 EclipseLink 2.6.1 (JPA 2.1) 和 JDK 8u45 进行了测试。

我认为它是固定的。

【问题讨论】:

  • 决定你正在使用哪个......你说的是 EclipseLink 元模型但提供了一个指向 Hibernate 的链接
  • 我在另一个带有 Spring/Hibernate 的项目中使用该元模型生成器,抱歉。元模型生成器由 EclipseLink 2.5.1 本身提供。
  • 感谢您的更新!我改变了我的依赖,现在错误消失了。

标签: jakarta-ee jpa eclipselink java-ee-7 jpa-2.1


【解决方案1】:

根据the Java API specification,@SupportedSourceVersion 注释(这是日志的来源)指定“注释处理器支持的最新源版本”,而不是最低版本。

阅读有关此主题的discussion on the NetBeans forum,它表明您几乎没有解决方案。我想唯一的解决方案是更改CanonicalModelProcessor中的代码:

为了使 EclipseLink 运行时与 Java 6 兼容,您需要 @SupportedSourceVersion(RELEASE_6)

要正确适应 Java 7 编译,您应该具有 @SupportedSourceVersion(RELEASE_7)

但据我了解,您不是自己编译 EclipseLink。主要问题(以及警告的原因)是软件提供者(即 Eclipse 基金会)保证在 Java SE 6 环境中正确处理代码。

问题是reported as a JDK 错误。结论是没有其他明确的解决方法。

解决方案是指定 RELEASE7 常量(至少根据 API 的说明)。但如果 EclipseLink 团队这样做,他们就无法在 Java 6 环境中编译。

因此,无论您是否使用适当的常量自行编译 EclipseLink,是否接受警告...

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多