首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建Java 6项目时的FilerException

构建Java 6项目时的FilerException
EN

Stack Overflow用户
提问于 2012-01-20 09:01:02
回答 10查看 26.8K关注 0票数 21

我在Netbeans 7中有一个Java 6项目,在IDE中编译和启动它时运行良好。然而,当我清理和构建这个项目时,我得到了一个

java.lang.RuntimeExceptionjavax.annotation.processing.FilerException:尝试重新创建{myclass}类型的文件

(其中myclass始终是JPA实体类)。

如果我更改代码中的某些内容,那么它是更改的是哪个实体类。

我不知道是什么导致了这个错误--有人能提供一个看什么的想法吗?

我使用的唯一额外的库是速度。

更新:我在同一个数据库上使用两个持久性单元,一个是“正常”单元,另一个是非事务性单元。用于将事情记录到数据库中的非事务性事件;在每次插入日志事件后使用提交。

当我更改它并且只使用一个“普通”PU时,这个项目就会编译得很好。这可能是因为这两个粒子干扰了eclipselink所做的一些优化吗?

下面是堆栈跟踪的开头:

代码语言:javascript
复制
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.
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-01-22 14:30:41

问题似乎是,我在两个不同的持久性单元中使用了一个和同一个实体类。我不确定这是被JPA禁止的,还是仅仅是日食链接的一个问题。

我找到的一个‘解决方案’就是复制我的实体类。不太好,但现在起作用了。

更多的答案仍然欢迎。

票数 4
EN

Stack Overflow用户

发布于 2012-03-30 01:07:35

让两个持久性单元使用相同的实体类似乎是个问题。

在我的例子中,我有一个单元用于查询数据,另一个单元用于身份验证。身份验证不需要知道我的实体类,所以在Netbeans中,我不得不取消选中"MyWebServiceProject“模块中的”包含所有实体类“。

或增加:

<exclude-unlisted-classes>true</exclude-unlisted-classes>

到该持久性单元的web.xml文件。

票数 30
EN

Stack Overflow用户

发布于 2013-05-30 15:14:50

我通过设置

代码语言:javascript
复制
<property name="eclipselink.canonicalmodel.subpackage" value="foobar"/>

对于persistence.xml中的每个持久性单元。每个单元的值必须是唯一的。然后将这些类生成到不同的包中,例如。com.mycompany.foo.PojoOne_com.mycompany.bar.PojoOne_而不是com.mycompany.PojoOne_

Source

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8938889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档