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

Jam*_*vec 15 java maven-2 maven

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

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) 
Run Code Online (Sandbox Code Playgroud)

这类似于Maven安装OSX错误不支持major.minor版本51.0线程"main"中的异常java.lang.UnsupportedClassVersionError:a(不支持的major.minor版本51.0)但是我不打算升级,我正在寻找找到与java 6兼容的maven版本.关于哪个版本兼容以及我可以从mac下载/安装它的哪些想法?

man*_*uti 20

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

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

  • 保持Java8然后编译Java6可能会导致一些问题,请查看[此答案](http://stackoverflow.com/a/35915323/5606016),了解为什么以及如何使用Maven防止运行时故障 (2认同)
  • 从 https://archive.apache.org/dist/maven/maven-3/3.2.5/binaries/ 下载并可以安装类似于 http://www.mkyong.com/maven/install-maven- 上给出的方向在 mac osx/ (2认同)