我在 Netbeans 7 中有一个 Java EE 6 项目,当我在 IDE 中编译并启动它时,该项目运行良好。但是,当我清理和构建项目时,我得到了
java.lang.RuntimeException
: javax.annotation.processing.FilerException
:尝试重新创建类型为 { 的文件myclass
}
(where myclass
始终是 JPA 实体类)。
如果我更改代码中的某些内容,它会更改哪个实体类。
我不知道什么可能导致此错误 - 任何人都可以提供查看内容的想法。
我使用的唯一额外库是 Velocity。
Update:我在同一个数据库上使用两个持久性单元,一个是“正常”持久性单元,一个是非事务性持久性单元。我用来将事情记录到数据库的非事务性的;每次插入日志事件后都会提交一次。
当我更改它并仅使用一个“正常”PU 时,该项目可以正常编译。难道这两个 PU 干扰了 eclipselink 所做的某些优化?
这是堆栈跟踪的开头:
An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.RuntimeException: javax.annotation.processing.FilerException: Attempt to recreate a file for type de.guj.contenthub.ftdts.entity.AgofEntry_
at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:625)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:554)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:699)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:981)
at com.sun.tools.
使用相同实体类的两个持久性单元似乎确实是问题所在。
就我而言,我有一个单元用于查询数据,另一个单元用于身份验证。用于身份验证的不需要了解我的实体类,因此在 Netbeans 中我必须取消选中“在“MyWebServiceProject”模块中包含所有实体类”。
Or add:
<exclude-unlisted-classes>true</exclude-unlisted-classes>
到该持久性单元的 web.xml 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)