gpt4 book ai didi

java - 在 Eclipse JPA 项目中获取 UnsupportedClassVersionError 这是没有意义的

转载 作者:行者123 更新时间:2023-12-02 04:41:53 24 4
gpt4 key购买 nike

我这里遇到了一个奇怪的情况。当我到处使用 Java 1.6 时,出现有关 Java 1.7 的错误。

我正在使用Eclipse Kepler 32 位
我使用的 JPA 实现是 EclipseLink 2.6.0

在窗口 --> 首选项 --> Java --> 安装的 JRE 中,我选中了 jdk1.6.0_34(默认),其位置为 C:\Program Files (x86)\Java\jdk1.6.0 _34。这是打印屏幕:

Eclipse Preferences Installed JREs Window

我创建了一个新的 JPA 项目。在目标运行时中,我选择了 jdk1.6.0_34。这是打印屏幕:

Eclipse New JPA Project Window

我单击“配置”部分中的“修改...”按钮以确认我正在使用 Java 1.6。这是打印屏幕:

Eclipse Project Facets Window

然后我创建了一个简单的类来测试 JPA:

package com.test;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class TestJPA {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("MyTestJpaProject");
emf.close();
}
}

当我运行它时,我收到一条错误消息:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/persistence/jpa/PersistenceProvider : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:117)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:76)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at com.test.TestJPA.main(TestJPA.java:16)

这很奇怪。我到处都使用 Java 1.6,但 Eclipse 给我这个关于 Java 1.7 的错误消息。可能是什么原因?

最佳答案

这意味着您正在使用的某些插件是使用 java 1.7 构建的,并且需要 1.7 或更高版本的 jre。检查包含堆栈跟踪中提到的类的插件。

关于java - 在 Eclipse JPA 项目中获取 UnsupportedClassVersionError 这是没有意义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30085261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com