java - 由于依赖关系,不支持的 major.minor 版本 52.0
问题描述
我有一个用 Java 7 构建的项目(项目 pom 摘录):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
它依赖于一个用 Java 8 构建的模块(依赖 pom 摘录):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
我已在运行 Java 7 的服务器上部署并运行我的应用程序,但出现此错误:
java.lang.UnsupportedClassVersionError: com/h/i/c/u/e/TradeStatus : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getDeclaredMethods(Class.java:1808)
at ...
知道我无法更改服务器上的 JRE,并且我无法更改模块是用 Java 8 构建的事实,我该如何解决这个问题?
解决方案
UnsupportedClassVersionError ... Major Minor 当您有一个内置在较高版本的 java 中的库并且您想在以较低版本运行的应用程序中使用时发生。所以有两种可能的解决方案。
- 首先在所需版本的 JDK 中使用代码更改构建库
- 升级您的 JDK 版本,以便库和您的应用程序都能正常工作。
推荐阅读
- elasticsearch - 在 Confluent.Cloud(Kafka) 到 Elastic Cloud 之间创建 Elastic Sink 连接器
- excel - 使用公式在单元格之间复制 Excel 格式
- python - 在 seaborn 中绘制不同组时如何将数据作为一组包含在内
- qt - 如何从 Qml Checkbox 获取初始值到 c++?
- mysql - 如何使 MySQL 8 与包含多个 FROM 表的语句兼容
- gnuplot - 如何通过gnuplot绘制网络
- powershell - 将来自两个 Powershell 命令的输出组合到 CSV
- python - 在 python 中使用一个 tkinter 按钮创建多个窗口
- r - 如何列出已安装的 R 版本?
- python - 如何为一个数据类提供另一个数据类?