JPA:错误:尝试重新创建类型为[[

问题描述 投票:1回答:1
每次运行代码时,都会出现以下错误:

java.lang.RuntimeException: javax.annotation.processing.FilerException: Attempt to recreate a file for type domein.ClubLes_ [javac] at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:407) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:964) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:881) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100(JavacProcessingEnvironment.java:110) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1202) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1311) [javac] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1250) [javac] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:928) [javac] at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:306) [javac] at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:165) [javac] at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57) [javac] at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43) [javac] Caused by: javax.annotation.processing.FilerException: Attempt to recreate a file for type domein.ClubLes_ [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.checkNameAndExistence(JavacFiler.java:727) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:489) [javac] at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:426) [javac] at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClass(CanonicalModelProcessor.java:98) [javac] at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.generateCanonicalModelClasses(CanonicalModelProcessor.java:226) [javac] at org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor.process(CanonicalModelProcessor.java:403) [javac] ... 11 more BUILD FAILED E:\ProjectJava\java-g11\Taijitan\nbproject\build-impl.xml:1134: The following error occurred while executing this line: E:\ProjectJava\java-g11\Taijitan\nbproject\build-impl.xml:381: Compile failed; see the compiler error output for details.

起初我以为是因为我不小心忘记添加子类,但是它仍然给我同样的错误。 ClubLes继承自Les,Les是仅包含吸气剂的接口。我还需要使接口可序列化吗?我不知道怎么了。

ClubLes

@Entity public class ClubLes implements Serializable, Les { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "LesId") private int id; @Column(name = "Naam") String naam; @Column(name = "Soort") String soort; @ManyToOne @JoinColumn(name = "GraadNumeriek") Graad graad; @Column(name = "FotoUrl") private String fotoUrl; @Column(name = "Beschrijving") private String beschrijving; @Column(name = "VideoUrl") private String videoUrl; public ClubLes() { }

Les interface

public interface Les { int getId(); String getNaam(); String getSoort(); //More getters }

PU我只有一个持久性单元,看起来像这样

<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="TaijitanPU" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>domein.Graad</class> <class>domein.Locatie</class> <class>domein.ClubPersoon</class> <class>domein.ClubActiviteit</class> <class>domein.ClubLes</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://localhost:1433;databaseName=Taijitan"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="javax.persistence.jdbc.password" value="Wachtwoord2019"/> <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> </properties> </persistence-unit> </persistence>
[我还注意到,当我从JPA删除clublesson时,它会为ClubPersoon引发相同的错误,遵循相同的方案
java jpa compiler-errors
1个回答
0
投票
尝试将<exclude-unlisted-classes>true</exclude-unlisted-classes>添加到persistence.xml。我认为该类正在处理两次,原因是缺少此语句。
© www.soinside.com 2019 - 2024. All rights reserved.