运行Maven时,我得到了这个输出:
[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
我该如何修复这个问题?
如果您正在从Eclipse运行Maven(例如,Run As:Maven Install),请确保您的环境配置了正确的JRE(您需要JDK,而不是JRE)。转到窗口 -> 首选项 -> Java -> 已安装的JRE。如果存在JDK,请选择它,否则请添加JDK。
当他运行下面的命令时:
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]
以下是解决方法:
问题在于他的电脑上没有安装Java编译器javac
。为了确认,我们运行了以下命令:
javac --version
我们没有得到任何版本输出。
因此,我们使用以下命令安装了包含javac
及其所有依赖项的Java开发工具包:
sudo apt install default-jdk
接着我们运行了命令 javac --version
,并得到以下输出:
javac 11.0.9.1
我希望你能够受益,以下是内容:
希望这有所帮助。
如果您正在使用 IntelliJ
:
请检查 Preferences | Build, Execution, Deployment | Build Tools | Maven | Runner -> JRE
。
还要检查 File | Project Structure
。
大多数情况下,您会发现错误的Java版本。
尝试在“我的电脑”->“环境变量”中设置JAVA_HOME
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版本
maven-compiler-plugin
是否在pom.xml
中将fork
选项设置为true
,如下所示:<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
java_version=1.8
#version=1.8.0_91
export JAVA_HOME=$(/usr/libexec/java_home -v $java_version)
javac -version
也显示了正确的Java版本,但仍然遇到了这个错误。