当前位置: 首页 > 知识库问答 >
问题:

什么版本的Maven与Java 6兼容?

孙朗
2023-03-14

我必须在一个需要运行Java6的旧项目中工作,因为在未来的版本中,已经删除了对贬值的sun类的引用。作为过程的一部分,我将系统路径中的jdk从8更改为指向Java6JDK。这样做后,我得到:

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:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    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) 

这类似于 Maven 安装 OSX 错误 不支持的主要.次要版本 51.0 和线程“主要” java.lang.不受支持的类版本中的异常错误: a (不支持的主要.minor 版本 51.0) 但是我不打算升级,我正在寻找一个与 java 6 兼容的 maven 版本。关于哪个版本兼容以及我可以从哪里下载/安装Mac的任何想法?

共有2个答案

羊舌昆杰
2023-03-14

如果你有需要用JDK 6构建的问题,但是你想用JDK 7运行Maven(因为你喜欢使用Maven 3.3),你应该考虑使用toolchain,它使这两者相互独立。

祖麻雀
2023-03-14

根据Maven发布历史页面,最后一个使用JDK1.6的Maven版本是3.2.5。

请注意,最好继续使用较新的Maven版本(并在系统路径中保留Java 8作为默认版本),并告诉Maven,它正在构建的项目应该在源代码设置为1.6的情况下编译-有关更多信息,请参阅源代码和目标文档。恢复到旧的Maven将删除更新版本的错误修复/增强。

 类似资料:
  • 哪个版本的Spring Security与Spring-4.3.0-版本兼容。 我的罐子如下 spring-aop-4.3.0。释放。罐子 spring-beans-4.3.0。释放。罐子 spring-context-4.3.0。释放。罐子 spring-context-support-4.3.0。释放。罐子 Spring芯-4.3.0。释放。罐子 spring-expression-4.3.0

  • 我正在使用生成cacerts。 然后我使用,但我会遇到这样的例外: 这是兼容性问题吗?使用一个版本的java生成的Cacert是否与另一个版本的java不兼容?

  • 我正在尝试在Mac os卡塔利娜上构建我的飘飘应用程序。并希望支持像ipad 2这样的旧手机。我在一篇文章中读到Xcode的maximun版本应该是11.3.1,所以我安装它,然后安装最新版本的Flutter。 但是当如果运行 我得到< code >找到了“Xcode 11.3.1,Build version 11C505”。为iOS开发需要Xcode 12.0.1或更高版本。所以我正在尝试将Fl

  • 它的版本问题是肯定的,因为我在另一个项目中以同样的方式使用它,但在play 2.6中(不确定是否与它有任何关系) 如果我降级elasticmq版本,我会得到以下错误: 异常或错误导致运行中止:java.lang.noClassDeffounderror:akka/http/scaladsl/settingsettingsettingsjava.lang.bootstrapmethoderror:j

  • 我训练OpenNLP NER模型来检测一个新实体,但当我使用这个模型时,我遇到了以下异常: 我使用的是OpenNLP 1.6.0版,源代码如下: 谁能帮我解决这个问题。。

  • 我正在从1.6升级到1.8的过程中。 因此,我正在寻找一种列出所有不兼容Java1.8的依赖项的好方法。我已经设置了JAVA_HOME。我使用的是Maven 3.3.9。