【发布时间】:2015-10-03 15:43:22
【问题描述】:
鉴于以下情况:
> mvn clean compile
...
[ERROR] Failure executing javac, but could not parse the error:
/bin/sh: c:/progra~1/java/jdk1.6.0_24/bin/javac: No such file or directory
检查我的mvn 和java 版本是否正确:
$mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T07:57:37-04:00)
Maven home: /Users/kevin/Downloads/apache-maven-3.3.3
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"
$java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
不确定我的brew 安装的mvn 有问题,我将其删除并从Apache 下载了mvn-...bin.zip。然后我设置我的路径,验证mvn -version 和java -version 吐出相同的版本。但是,我仍然遇到同样的问题。
我查看了前 3 个(来自搜索)StackOverflow 结果,但没有进一步了解:
【问题讨论】:
-
Maven 认为它正在运行 Java 6(无论如何,对于那个项目)。该项目是否具有要编译的特定 JVM 版本?
-
在我的例子中,需要一个依赖项目
jdk 1.6。为了解决这个问题,我删除了我的~/.m2/repository/*,然后用mvn clean compile -Ddefault.java.version=1.7 -Ddefault.java.home=/usr/构建了项目