Java 6 不支持 major.minor 版本 51.0

新手上路,请多包涵

我最近卸载了 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 name) 来绕过它

原文由 Hassan Syyid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 748
2 个回答

根据 Maven 网站,支持 Java 6 的最后一个版本是 3.2.5,3.3 及更高版本使用 Java 7。我的直觉是您使用的是 Maven 3.3 或更高版本,应该升级到 Java 7(并设置正确的源/pom 中的目标属性)或降级 maven。

原文由 John Ament 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

但是请注意,某些功能可能不再与 Java 6 兼容,Java 6 非常旧,Oracle 不再(公开)支持它。

原文由 Andy Turner 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题