Java 6不支持的major.minor版本51.0

Has*_*yid 71 java maven unsupported-class-version

我最近卸载了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)
Run Code Online (Sandbox Code Playgroud)

当我这样做时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)
Run Code Online (Sandbox Code Playgroud)

Java的一切似乎都很好,但是当我尝试运行可执行的JAR时也会发生这种情况.我通过手动执行java -jar(jar名称)来解决它

Joh*_*ent 95

根据maven网站的说法,支持Java 6的最后一个版本是3.2.5,3.3及更高版本使用Java 7.我的预感是你正在使用Maven 3.3或更高版本,并且应该升级到Java 7(并设置适当的源代码)/pom中的/ target属性)或降级maven.


And*_*ner 11

该版本号(51.0)表示您正在尝试运行为Java 7编译的类.您需要为Java 6重新编译它们.

但请注意,某些功能可能不再与Java 6兼容,后者非常陈旧,并且不再(Oracle)支持(公开).

  • 你很有趣......这里的大多数政府仍然使用java 6,事实上他们几乎没有从java 4到那里......从4到6海峡!(你的评论来自去年!:) (5认同)

Raj*_*dav 5

我也遇到了类似的问题。我可以通过在 windows 的 Environment 变量中设置 JAVA_HOME 来解决这个问题。在这种情况下,在批处理文件中设置 JAVA_HOME 不起作用。