繁体   English   中英

Intellij Maven java.lang.IllegalArgumentException: Unsupported class 文件主要版本 61 并且 Entity 使用不支持的 JDK 编译

[英]Intellij Maven java.lang.IllegalArgumentException: Unsupported class file major version 61 and Entity was compiled with an unsuppported JDK

我正在尝试使用数据库开发应用程序,但遇到了很多错误,例如java.lang.IllegalArgumentException: Unsupported class 文件主要版本 61[EL Severe]: metadata: 2022-01-26 17:43: (422250493)--使用不受支持的 JDK 编译 database.model.StageEntity class。 将此错误报告给 EclipseLink 开源项目。 对于通过映射创建的每个实体。 这是一个 Maven 项目,所以我没有找到任何关于它的信息,只有 gradle。 我在 java 17(17.0.2) 上工作,但我一般不熟悉 intellij 或 Java,希望我会有人可以为我的问题找到答案。 这是我的持久性。xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<persistence-unit name="PersistenceMIP">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

    <class>database.model.StageEntity</class>
    <class>database.model.StageTeamEntity</class>
    <class>database.model.TeamEntity</class>
    <class>database.model.UserEntity</class>
    <properties>
        <property name="eclipselink.jdbc.url" value="jdbc:postgresql://localhost:5432/MIP"/>
        <property name="eclipselink.jdbc.driver" value="org.postgresql.Driver"/>
        <property name="eclipselink.jdbc.user" value="postgres"/>
        <property name="eclipselink.jdbc.password" value="root"/>
    </properties>
</persistence-unit>

这是我的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>MIP1</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>17.0.2</maven.compiler.source> <maven.compiler.target>17.0.2</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>17.0.1</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.2</version> </dependency>

这是我所有的警告和错误

  enter code here[EL Info]: transaction: 2022-01-26 17:43:20.954--ServerSession(422250493)--property eclipselink.jdbc.user is deprecated, property javax.persistence.jdbc.user should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.959--ServerSession(422250493)--property eclipselink.jdbc.driver is deprecated, property javax.persistence.jdbc.driver should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.96--ServerSession(422250493)--property eclipselink.jdbc.url is deprecated, property javax.persistence.jdbc.url should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.96--ServerSession(422250493)--property eclipselink.jdbc.password is deprecated, property javax.persistence.jdbc.password should be used instead.
[EL Severe]: metadata: 2022-01-26 17:43:20.982--ServerSession(422250493)--The database.model.StageEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.IllegalArgumentException: Unsupported class file major version 61
[EL Severe]: metadata: 2022-01-26 17:43:20.984--ServerSession(422250493)--The database.model.StageEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 0
[EL Severe]: metadata: 2022-01-26 17:43:20.984--ServerSession(422250493)--The database.model.StageTeamEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.IllegalArgumentException: Unsupported class file major version 61
[EL Severe]: metadata: 2022-01-26 17:43:20.985--ServerSession(422250493)--The database.model.StageTeamEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 0
[EL Severe]: metadata: 2022-01-26 17:43:20.985--ServerSession(422250493)--The database.model.TeamEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.IllegalArgumentException: Unsupported class file major version 61
[EL Severe]: metadata: 2022-01-26 17:43:20.985--ServerSession(422250493)--The database.model.TeamEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 0
[EL Severe]: metadata: 2022-01-26 17:43:20.985--ServerSession(422250493)--The database.model.UserEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.IllegalArgumentException: Unsupported class file major version 61
[EL Severe]: metadata: 2022-01-26 17:43:20.986--ServerSession(422250493)--The database.model.UserEntity class was compiled with an unsupported JDK. Report this error to the EclipseLink open source project.
java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 0
[EL Info]: transaction: 2022-01-26 17:43:20.993--ServerSession(422250493)--property eclipselink.jdbc.user is deprecated, property javax.persistence.jdbc.user should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.994--ServerSession(422250493)--property eclipselink.jdbc.driver is deprecated, property javax.persistence.jdbc.driver should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.994--ServerSession(422250493)--property eclipselink.jdbc.url is deprecated, property javax.persistence.jdbc.url should be used instead.
[EL Info]: transaction: 2022-01-26 17:43:20.994--ServerSession(422250493)--property eclipselink.jdbc.password is deprecated, property javax.persistence.jdbc.password should be used instead.
[EL Info]: 2022-01-26 17:43:21.094--ServerSession(422250493)--EclipseLink, version: Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d
[EL Warning]: metamodel: 2022-01-26 17:43:21.352--The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units.  Please verify that your entity classes are referenced in persistence.xml using either <class> elements or a global <exclude-unlisted-classes>false</exclude-unlisted-classes> element
Transaction error: Object: database.model.UserEntity@248df8 is not a known Entity type.

Process finished with exit code 0

您提到的问题也可能是由于使用了执行某种代码检查/生成的库,并且还没有准备好使用这个非常年轻的 class 文件版本。 可能eclipselink是这里的问题。 尝试升级到最新版本,如果这没有帮助 go 回到 Java 16 并完全清理并重建您的项目。

例如,请参阅此说明:更新 ECLIPSELINK 以支持 JAVA 17 的 ASM 9.1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM