注释处理器 org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor 支持的源版本 RELEASE_6 低于 sour
Posted
技术标签:
【中文标题】注释处理器 org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor 支持的源版本 RELEASE_6 低于 source1.7【英文标题】:Supported source version RELEASE_6 from annotation processor org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor less than 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 模块)中 nbproject
下 project.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 本身提供。 感谢您的更新!我改变了我的依赖,现在错误消失了。 【参考方案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,是否接受警告...
【讨论】:
以上是关于注释处理器 org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor 支持的源版本 RELEASE_6 低于 sour的主要内容,如果未能解决你的问题,请参考以下文章