“弹簧靴”;不支持的major.minor版本51.0“;当尝试使用Java6构建时
我和我的朋友在Java7上做SpringBoot项目。它很好用。 然而,他们决定把它放在Java6服务器上。所以我们必须改变它。 在我朋友的笔记本电脑上,它可以正常工作,但我的却不行。我不知道为什么会这样 我搜索了一些,发现许多根本原因是当您使用更高版本(例如Java7)编译并在Java6上运行它时。但对我来说,当我在STS(java 6 JRE)上以Spring Boot应用程序的形式运行项目时,它运行良好: 但是当我需要它变成jar时(我使用maven build/maven clean): 以下是完整日志:“弹簧靴”;不支持的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)
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服务器上运行良好
因此,除了使用jens和abarisone注释外,Spring boot和/或它的依赖项需要java 7或更多,但是当我们编译它(使用java 7)并将目标设置为java 6时,它编译,并且在java 6机器上运行。有人能解释一下原因吗?这仅仅是运气还是什么?当您想在Spring Boot中使用Java 6时,请确保遵循说明:
(也就是说,你真的不应该再使用Java 6了。即使Java 7也有)Spring boot与过时的Java 6版本不兼容。看看这个,它可能会有所帮助