【发布时间】:2013-11-20 14:36:00
【问题描述】:
运行 Maven 时,我得到以下输出:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
我该如何解决这个问题?
【问题讨论】:
运行 Maven 时,我得到以下输出:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
我该如何解决这个问题?
【问题讨论】:
当使用 JRE(Java 运行时环境)运行 Maven 时,您将看到此错误消息,该 JRE 是 Java 的精简版本,只能 执行 Java 代码但不能 编译源代码。
要修复警告,请安装 JDK(Java 开发 Kit)并将环境变量 JAVA_HOME 设置为新安装的 Java 版本。
如果需要,您可以将其放入文件.mavenrc;那么只有 Maven 会使用这个版本的 Java。
【讨论】:
archlinux-java。对我来说一切都很好,除了 Maven 警告。
如果您从 Eclipse 运行 Maven(例如,运行方式:Maven 安装),请确保您的环境配置了正确的 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
就是这样。
我希望这会有所帮助
【讨论】:
尝试在MyComputer中设置JAVA_HOME-->环境变量
【讨论】:
Right click on project -> Properties -> Java Compiler then uncheck Use compliance from execution environment... 然后在Compiler Compliance level中选择一个编译器
【讨论】:
sudo yum install java-sdk
Centos 使用 -devel 后缀找到正确的 SDK
【讨论】:
sudo yum install java-1.8.0-openjdk-devel 适用于 Java 版本 8
sudo yum install java-11-openjdk-devel 用于 java 版本 11
【讨论】:
在 Mac 上:
java_version=1.8
#version=1.8.0_91
export JAVA_HOME=$(/usr/libexec/java_home -v $java_version)
【讨论】: