【发布时间】:2017-01-10 06:52:07
【问题描述】:
我和我的朋友在 java 7 上做 Spring-boot 项目。它工作正常。 但是,他们决定将它放在 java 6 服务器上。所以我们必须改变它。 在我朋友的笔记本电脑上它工作正常,但我的没有。我不知道为什么会变成这样。
我搜索了一些,发现很多根本原因是当您使用更高版本(例如 java 7)编译并在 java 6 上运行它时。但对我来说,当我运行项目时它运行良好作为 STS 上的 Spring-Boot 应用程序(在 java 6 JRE 上):
但是当我需要它变成 jar 时(我做了 maven build/maven clean):
这是完整的日志:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : 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 org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
我想知道这个编译器有什么问题? 以下是我读过的一些链接:
Spring Boot - Unsupported major.minor version 51.0
Unsupported major.minor version 51.0 OpenShift
How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version
Why am I getting Unsupported major.minor version 51.0
java.lang.UnsupportedClassVersionError Unsupported major.minor version 51.0
https://stackoverflow.com/questions/36106755/unsupported-major-minor-version-51-0
Unsupported major.minor version 51.0 but everything is set to JDK 1.6
我怀疑这与我在 STS 中的配置或我的笔记本电脑有关,因为我的朋友也在使用 STS,而且效果很好。我已经做了这个建议:
Java 6 Unsupported major.minor version 51.0
但错误仍然存在。 任何建议将不胜感激。
【问题讨论】:
-
Spring boot 不兼容java6过时版本