Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不支持的major.minor版本51.0(org/apache/maven/cli/MavenCli)-MAC OS X_Java_Macos_Maven - Fatal编程技术网

Java 不支持的major.minor版本51.0(org/apache/maven/cli/MavenCli)-MAC OS X

Java 不支持的major.minor版本51.0(org/apache/maven/cli/MavenCli)-MAC OS X,java,macos,maven,Java,Macos,Maven,这是我的java版本:java-version java版本“1.8.0_20”java(TM)SE运行时环境(构建 1.8.0_20-b26)Java热点(TM)64位服务器虚拟机(构建25.20-b23,混合模式) 和我的bash\u档案: JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home M2_HOME=/Users/michaelkees/apache-maven-3.3.9 M2=/Use

这是我的java版本:java-version

java版本“1.8.0_20”java(TM)SE运行时环境(构建 1.8.0_20-b26)Java热点(TM)64位服务器虚拟机(构建25.20-b23,混合模式)

和我的bash\u档案:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
M2_HOME=/Users/michaelkees/apache-maven-3.3.9
M2=/Users/michaelkees/apache-maven-3.3.9/bin
PATH=/Users/michaelkees/apache-maven-3.3.9/bin:/Users/michaelkees/Documents/apache-maven-3.3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/sbin
  • 已安装Maven 3.3.9
当我尝试使用命令时:'mvn-v'

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

您是否输出了您发布的
.bash\u配置文件
?如果是,则需要更改它,因为环境变量将不可用于子进程。您需要在
.bash\u配置文件中使用以下内容:

export JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/HOME
导出路径=/Users/michaelkees/apache-maven-3.3.9/bin:$PATH
更改后,您需要重新登录

另一种方法是通过
.mavenrc`文件定义
JAVA_HOME',该文件可能更灵活一些

您需要在主目录
$home/.mavenrc
中创建一个文件
.mavenrc
,其中包含如下行:

export JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/HOME

这样,您就不需要在
配置文件中定义
JAVA\u HOME

转到运行配置,然后为3.2.X以上的maven版本选择JAVA 7或JAVA 8
Maven 3.3需要更高的Java版本。

mvn-c做什么?另外,
java-version
在命令提示符下向您展示了什么?mvn-c给了我一个例外,major.minor版本51.0和java-version java版本“1.8.0_20”java(TM)SE运行时环境(build 1.8.0_20-b26)java热点(TM)64位服务器VM(build 25.20-b23,混合模式)mvn-c做了什么“将创建的目录apache-maven-3.3.9的bin目录添加到新shell中的PATH环境变量Confirm with mvn-v中。结果应该类似于“.Its-v,但它给出了相同的错误,我只是不知道-c。根据我读到的文档-c/-c is:“以下命令行选项会影响Maven与远程存储库交互的方式以及它如何验证下载的工件:-c,--如果校验和不匹配,则严格校验和将导致生成失败-c,-lax校验和将在校验和不匹配时发出警告-U,--更新快照强制检查远程存储库上的更新版本和快照,这必须是mvn没有使用您认为的1.8 JVM。最有可能的情况是,它使用的是1.6JVM,因为类格式版本51.0对应于1.7JVM(1.6JVM对此一无所知)。您可以进入mvnbashshell脚本,添加一行代码来回显$JAVACMD,并查看它指向的位置。