Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“弹簧靴”;不支持的major.minor版本51.0“;当尝试使用Java6构建时_Java_Spring_Maven - Fatal编程技术网

“弹簧靴”;不支持的major.minor版本51.0“;当尝试使用Java6构建时

“弹簧靴”;不支持的major.minor版本51.0“;当尝试使用Java6构建时,java,spring,maven,Java,Spring,Maven,我和我的朋友在Java7上做SpringBoot项目。它很好用。 然而,他们决定把它放在Java6服务器上。所以我们必须改变它。 在我朋友的笔记本电脑上,它可以正常工作,但我的却不行。我不知道为什么会这样 我搜索了一些,发现许多根本原因是当您使用更高版本(例如Java7)编译并在Java6上运行它时。但对我来说,当我在STS(java 6 JRE)上以Spring Boot应用程序的形式运行项目时,它运行良好: 但是当我需要它变成jar时(我使用maven build/maven clean)

我和我的朋友在Java7上做SpringBoot项目。它很好用。 然而,他们决定把它放在Java6服务器上。所以我们必须改变它。 在我朋友的笔记本电脑上,它可以正常工作,但我的却不行。我不知道为什么会这样

我搜索了一些,发现许多根本原因是当您使用更高版本(例如Java7)编译并在Java6上运行它时。但对我来说,当我在STS(java 6 JRE)上以Spring Boot应用程序的形式运行项目时,它运行良好:

但是当我需要它变成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)
我想知道这个编译器出了什么问题? 以下是我读过的一些链接:

我怀疑这与我在STS或笔记本电脑中的配置有关,因为我的朋友也在使用STS,而且工作正常。我的建议是:

但错误依然存在。
任何建议都将不胜感激。

事实证明,我的朋友根本没有更改Java编译器。他们只是更改Pom.xml上的Java版本:

它在我们的Java6服务器上运行良好


因此,除了使用jensabarisone注释外,Spring boot和/或它的依赖项需要java 7或更多,但是当我们编译它(使用java 7)并将目标设置为java 6时,它编译,并且在java 6机器上运行。有人能解释一下原因吗?这仅仅是运气还是什么?

当您想在Spring Boot中使用Java 6时,请确保遵循说明:


(也就是说,你真的不应该再使用Java 6了。即使Java 7也有)

Spring boot与过时的Java 6版本不兼容。看看这个,它可能会有所帮助