2016-09-02 10 views
0

私はJava 7の友達とSpringブートプロジェクトを行っていました。 しかし、彼らはjava 6サーバーに置くことにしました。だから我々はそれを変更しなければならない。 友人のノートパソコンでは正常に動作しますが、私の場合は動作しませんでした。私はなぜそれがこのようなことを歓迎しているのか分かりません。spring-boot "サポートされていないmajor.minorバージョン51.0" java 6でビルドしようとしました

私はいくつかを検索し、より高いバージョン(たとえばJava 7)でコンパイルしてJava 6で実行すると、多くの根本原因が見つかっています。 (Java 6のJREの上にある)STSの春ブーツアプリとしてプロジェクト: enter image description here

しかし、私はそれが瓶(私はMavenのビルド/ Mavenのクリーンを行うもの)になる必要があります。

enter image description here

完全なログは次のとおりです。

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

java.lang.UnsupportedClassVersionError: javax/servlet/ServletException : 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

enter image description here

をしかし、まだエラーが解消されない:私はこの提案を行っています。 いずれかの提案をいただければ幸いです。

+3

スプリングブートは古いjava6バージョンと互換性がありません – Jens

+0

これを見て、参考にしてください。http://stackoverflow.com/questions/38613445/why-am-i-getting-unsupported-major-minor-version-51 -0/38613841#38613841 – abarisone

答えて

1

私の友人はJavaコンパイラをまったく変更しませんでした。

enter image description here

そして、何とかそれは私たちのJava 6のサーバー上でも動作します:彼らはただのpom.xml上のJavaのバージョンを変更します。

ので、イェンスabarisoneコメント、春ブーツでほかにおよび/または我々はそれをコンパイルするときには依存関係は、Java 7以上が必要だが、(ジャワで7)は、Java 6に設定された目標と、それをコンパイルし、は驚くほどをJava 6マシンで実行します。なぜ誰かがそれを説明できますか?それはちょうど幸運か何ですか?

関連する問題