运行Maven时,我得到了这个输出:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
我该如何解决这个问题?
答案 0 :(得分:15)
当使用JRE(Java运行时环境)运行Maven时,您将看到此错误消息,该JRE是Java的精简版本,只能执行 Java代码但不能编译来源。
要修复警告,请安装SDK(源开发工具包)并将环境变量JAVA_HOME
设置为新安装的Java版本。
如果您愿意,可以将其放入文件.mavenrc
;那么只有Maven会使用这个版本的Java。
答案 1 :(得分:7)
如果您从Eclipse运行Maven(例如Run As:Maven Install),请确保您的环境配置了正确的JRE(您需要JDK,而不是JRE)。转到窗口 - >偏好 - > Java - >已安装JRE。如果它存在则选择JDK,如果不存在则选择JDK。
答案 2 :(得分:0)
尝试在MyComputer - >环境变量
中设置JAVA_HOME
答案 3 :(得分:0)
Right click on project -> Properties -> Java Compiler
然后uncheck
使用执行环境中的合规性,然后在编译器合规性级别
答案 4 :(得分:0)
我的一个朋友在 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
我们没有版本输出
因此,我们使用以下命令安装了包含javac
及其所有依赖项的 Java开发工具包:
sudo apt install default-jdk
之后,我们运行命令javac --version
并获得输出:
javac 11.0.9.1
仅此而已。
我希望这会有所帮助
答案 5 :(得分:0)
sudo yum install java-sdk
Centos 通过 -devel 后缀找到正确的 SDK
答案 6 :(得分:0)
sudo yum install java-1.8.0-openjdk-devel
用于 Java 版本 8
sudo yum install java-11-openjdk-devel
用于 Java 版本 11
答案 7 :(得分:0)
在 Mac 上:
java_version=1.8
#version=1.8.0_91
export JAVA_HOME=$(/usr/libexec/java_home -v $java_version)