Maven:警告 无法使用环境中的'javac'自动检测'javac'路径



运行Maven时,我得到以下输出:

[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.

我该如何解决这个问题?

当Maven使用JRE(Java运行时环境)运行时,您将看到此错误消息,JRE(Java运行时环境)是Java的精简版本,只能执行Java代码,但不能编译源代码。

要修复该警告,请安装 JDK(Java 开发工具包)并将环境变量JAVA_HOME设置为新安装的 Java 版本。

如果你愿意,你可以把它放到.mavenrc文件中;那么只有Maven会使用这个版本的Java。

如果您从 Eclipse 运行 Maven(例如 Run As : Maven Install),请确保您的环境配置了正确的 JRE(您需要 JDK,而不是 JRE)。转到窗口 -> 首选项 -> Java ->已安装的 JRE。如果存在,请选择 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

而且我们没有版本输出

因此,我们使用以下命令安装了包含javac及其所有依赖项的 Java 开发工具包

sudo apt install default-jdk

之后,我们运行命令javac --version并得到输出:

javac 11.0.9.1

就这样。

我希望这有帮助

尝试在 MyComputer-->Environment 变量中设置JAVA_HOME

sudo yum install java-sdkCentos 使用 -devel 后缀找到正确的 SDK

Java 版本 8 的sudo yum install java-1.8.0-openjdk-devel Java 版本 11 的sudo yum install java-11-openjdk-devel

如果您使用的是IntelliJ
检查Preferences | Build, Execution, Deployment | Build Tools | Maven | Runner -> JRE .
另请检查File | Project Structure .
大多数时候你会发现一个错误的Java版本。

对于没有发现接受答案适用的人:检查您的maven-compiler-plugin是否将fork选项设置为 true in pom.xml ,如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <fork>true</fork>
    </configuration>
</plugin>

这似乎是 IntelliJ 中的一个错误,截至 2022 年 10 月 21 日尚未修复。

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) 

在 Mac 上删除 intelliJ 中的 .idea 文件夹对我有用

我正在使用 IntelliJ 2022.3.2,不得不从我的JAVA_HOME路径中删除"\bin"部分来解决"问题"。

分析:

<plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <executable>/usr/local/pje/jdk-11.0.10+9/bin/javac</executable>
            </configuration>
        </plugin>

最新更新