1. ホーム
  2. java

Java 6 非対応 major.minor バージョン 51.0

2023-07-17 19:39:28

質問

私は最近 Java 8 をアンインストールし、Java 6 を使用するようにしました。私のコードや創作物を Java 8 上の人たちだけでなく、より多くの人たちに使ってもらいたいからです。私が mvn - version を実行すると、それが返されます。

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)

をすると java -version :

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

Javaではすべてうまくいっているように見えますが、実行可能なJARを実行しようとしたときにもこの現象が起こります。私は手動で java -jar (jar名) を実行することでこれを回避しました。

どのように解決しましたか。

によると メイヴン ウェブサイト によると、Java 6 をサポートする最後のバージョンは 3.2.5 で、3.3 以降は Java 7 を使用しています。 私の直感では、あなたは Maven 3.3 以降を使用しており、Java 7 にアップグレードするか (そして pom で適切なソース/ターゲット属性を設定する)、Maven をダウングレードする必要があると思われます。