sol*_*nqu 7 java ant netbeans java-ee
当我尝试使用ant在Netbeans中构建我的企业项目时,我得到了以下异常:
警告:注释处理器'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor'支持的源版本'RELEASE_6'小于-source'1.8'注意:创建静态元数据工厂......
注释处理器抛出了未捕获的异常.有关详细信息,请参阅以下堆栈跟踪 java.lang.ClassFormatError:在类文件中不是本机或抽象的方法中的Absent Code属性javax/persistence/PersistenceException
entity我的ejb模块中只有一些类.
此错误被报告为NetBeans 中的错误(具有已解决状态,因为它被视为“用户错误”)。以下是解释问题并给出解决方案的主要评论:
“ClassFormatError: Absent Code attribute in method...”始终表明 javaee-api-6.0.jar 用于运行时执行。该 jar 仅包含方法签名(方法主体被剥离)并且仅适合编译。在 javac 的未来版本中可能会有更好的错误消息。
这里的问题是 javaee-api-6.0.jar 在 EclipseLink jar 之前位于类路径上,并且当启动 EclipseLink 注释处理器时,使用 javaee-api-6.0.jar 中的类而不是 EclipseLink 中的类。首先,应该从 EJB 项目的类路径中删除 javaee-api-6.0.jar - 不需要它,因为 EJB 项目选择了应用程序服务器,并且该项目从该服务器获取 EE 6 API。
据我了解该评论,您应该尝试从项目的类路径中删除对 javaee-api-6.0.jar (仅包含“虚拟”类)的任何引用,因为 EclipseLink 库应该提供注释处理器使用的正确类。
另外,这个问题似乎解决了同样的问题。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |