Jer*_*rry 4 java macos maven-3 java-7
当我尝试使用 Maven 编译项目时,出现以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project webserverlog: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project webserverlog: Compilation failure
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Run Code Online (Sandbox Code Playgroud)
我的 JAVA_HOME 指向 JDK:
$ echo $JAVA_HOME
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
$ $JAVA_HOME/bin/javac -version
javac 1.7.0_25
javac: no source files
Usage: javac <options> <source files>
Run Code Online (Sandbox Code Playgroud)
我不确定为什么 Maven 将“/jre”添加到 JAVA_HOME 的末尾,但查看其他一些帖子,这似乎不是问题:
$ mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 18:44:56+1000)
Maven home: /Users/jerry/dev/springsource/apache-maven-3.0.4
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Run Code Online (Sandbox Code Playgroud)
我一直在寻找这个问题的解决方案,并在过去几天尝试了不同的方法,但找不到任何有效的方法。我见过一些有类似问题的线程,但没有一个建议对我有用。
有谁知道如何解决这个问题?任何帮助都非常感谢...
小智 5
您应该将 JDK 的真实路径分配给 JAVA_HOME 变量,而不是保留 CurrentJDK 文字。由于某种原因,在 Mac OS X 中,CurrentJDK 并未指向 Maven 的实际版本。在您的 .profile 中尝试类似的操作,但替换您实际的 jdk 文件夹名称:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6546 次 |
| 最近记录: |