运行 Maven 时,我得到以下输出:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
我该如何解决?
当使用 JRE(Java 运行时环境)运行 Maven 时,您将看到此错误消息,该 JRE 是 Java 的精简版本,只能执行Java 代码但不能编译源代码。
要修复警告,请安装JDK(Java开发工具包)并将环境变量设置JAVA_HOME
为新安装的 Java 版本。
如果需要,您可以将其放入文件中.mavenrc
;那么只有 Maven 会使用这个版本的 Java。
如果您从 Eclipse 运行 Maven(例如 Run As : Maven Install),请确保您的环境配置了正确的 JRE(您需要 JDK,而不是 JRE)。转到窗口 -> 首选项 -> Java -> 已安装的 JRE。如果有 JDK,请选择 JDK,如果没有,请添加 JDK。
我的一个朋友在Ubuntu 18.04中构建Java项目时遇到了这个问题。
当他运行命令时:
maven clean build
他得到警告:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment
然后得到这个错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project geostore-model: Compilation failure -> [Help 1]
以下是它的解决方法:
问题是他的机器上没有安装javac
(Java 编程语言编译器)。为了确认,我们运行了命令:
javac --version
我们没有版本输出
因此,我们使用以下命令安装了包含所有依赖项的Java 开发工具包:javac
sudo apt install default-jdk
之后我们运行命令javac --version
并得到输出:
javac 11.0.9.1
就这样。
我希望这有帮助
尝试JAVA_HOME
在 MyComputer-->Environment Variable中设置
sudo yum install java-1.8.0-openjdk-devel
对于 Java 版本 8
sudo yum install java-11-openjdk-devel
对于 Java 版本 11
sudo yum install java-sdk
Centos 使用 -devel 后缀找到正确的 SDK
Right click on project -> Properties -> Java Compiler
然后uncheck
使用执行环境中的合规性...然后在编译器合规性级别中选择一个编译器
在 Mac 上:
java_version=1.8
#version=1.8.0_91
export JAVA_HOME=$(/usr/libexec/java_home -v $java_version)