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

Aar*_*lla 10 maven-2 javac maven-3

运行Maven时,我得到了这个输出:

[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Aar*_*lla 17

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

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

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

  • 如果这种情况发生在 IntelliJ 中怎么办? (3认同)
  • @MiguelMunoz 在 Maven 运行程序的配置中,有一个选项可以选择要使用的 JRE。确保它指向 SDK。请参阅此处的“JRE”字段:https://www.jetbrains.com/help/idea/delegate-build-and-run-actions-to-maven.html#build_through_maven (3认同)

小智 7

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


Pro*_*ton 7

我的一个朋友在Ubuntu 18.04中构建Java项目时遇到了这个问题。

当他运行命令时:

maven clean build
Run Code Online (Sandbox Code Playgroud)

他收到警告:

[WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment
Run Code Online (Sandbox Code Playgroud)

然后得到这个错误:

[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]
Run Code Online (Sandbox Code Playgroud)

解决方法如下

问题是他的机器上没有javac安装(Java 编程语言编译器)。为了确认,我们运行了命令:

javac --version
Run Code Online (Sandbox Code Playgroud)

我们没有得到版本输出

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

sudo apt install default-jdk
Run Code Online (Sandbox Code Playgroud)

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

javac 11.0.9.1
Run Code Online (Sandbox Code Playgroud)

就这样。

我希望这有帮助