gpt4 book ai didi

java - org/hibernate/HibernateException : Unsupported major. 次要版本 52.0(无法加载类 org.hibernate.HibernateException)

转载 作者:行者123 更新时间:2023-11-28 23:21:22 26 4
gpt4 key购买 nike

我正在做这个项目,其中我有一个用 Java (HttpServlet) 完成的 Web 服务,它使用 Hibernate 选择、插入和更新信息到数据库中,并将对象数组作为 JSON 返回给连接到 JSON 端点的任何人。

我在本地计算机上创建了它,并且运行良好。但是,我现在正在尝试查看它如何在实际服务器上而不是在本地运行。

所以我通过 SSH 连接到服务器并将 .war 构建复制到 Tomcat webapps 文件夹,尝试运行它,然后我得到以下错误:

javax.servlet.ServletException: Servlet execution threw an exception

root cause java.lang.UnsupportedClassVersionError: org/hibernate/HibernateException : Unsupported major.minor version 52.0 (unable to load class org.hibernate.HibernateException)

所以我很自然地查看了 StackOverflow 以了解此错误的原因,我发现它是在您使用一个 Java 版本创建项目并尝试在劣质 Java 机器上运行该项目时发生的。我确实做到了。

我使用 Java 8 创建了我的项目,并在服务器上的 Java 7 上运行它。所以我将服务器更新为使用 Java 8。但是,在更新到 Java 8 之后,我仍然遇到相同的错误。

如果我运行 java -version 命令,这就是我得到的结果:

本地计算机:

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

服务器:

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

如您所见,我的本地计算机上有 java 1.8.0_121,服务器上有 java 1.8.0._111。你认为这可能是问题所在吗?它们不都是 Java 8 吗?

另外,Tomcat 是如何知道使用哪个 java 的?我在服务器上有 3 个版本(Java 7 的 2 个版本和 Java 8 的一个版本,java 1.8.0_111)。 Tomcat 如何知道使用哪一个?

为了选择使用哪一个,我使用了 sudo update-alternatives --config java 命令并从那里选择了 1.8.0_111 版本(服务器是 Ubuntu 12.04)。

问题是 - 我不断收到该错误:java.lang.UnsupportedClassVersionError: org/hibernate/HibernateException : Unsupported major.minor version 52.0 (unable to load class org.hibernate.HibernateException) -而且我无法在服务器上运行我的项目。

有什么建议吗?

最佳答案

当我几天前遇到这个错误时,我的机器上运行了不同版本的 JDK 和 JRE。我通过在项目的构建路径和 Window Preferences->Java->Installed JRE's 中设置正确的 JRE 路径来纠正它。此外,如果您转到 Tomcat\bin 中的 setenv.bat,您可以通过以下方式指定 Tomcat 应该使用哪个版本的 java:
设置“JRE_HOME=%ProgramFiles%\Java\jre1.8.0_121”,(很明显,您的版本可能不同,因此请相应更改)。我希望这能回答您的问题!

编辑:如果您想知道 setenv.bat 是什么,请参阅:https://docs.oracle.com/cd/E40518_01/integrator.311/integrator_install/src/cli_ldi_server_config.html它解释了这个 bat 文件应该包含什么。

关于java - org/hibernate/HibernateException : Unsupported major. 次要版本 52.0(无法加载类 org.hibernate.HibernateException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186905/

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