找不到 Javac 编译器



我试图mvn install并收到以下消息:

Compilation failure
Unable to locate the Javac Compiler in:
  /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

嗯,有一个打开的jdk,我还下载了另一个。我试图JAVA_HOME指向两者,现在它已设置:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH

我还尝试选择其中一个打开sudo update-alternatives --config java但不同的 jdk 版本遇到了相同的错误。

我该如何解决这个问题?提前谢谢。

似乎

您的路径没有正确拾取..."echo $PATH"的输出是否包含javac所在的目录?我建议如下:

打开终端并执行:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03
export PATH=$PATH:$JAVA_HOME/bin
javac -version
which javac

如果javac -version仍然不起作用,请在/usr/local/bin中创建一个指向Javac二进制文件的符号链接:

cd /usr/local/bin
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac

这应该让你开始运行...另一种方法是尝试通过包管理系统设置Java(例如"apt-get install java"或类似系统)

我在 ubuntu 机器上运行 Jenkins 的 maven 构建时遇到了类似的错误。如果"javac -version"的输出提示以下消息:

"程序'javac'可以在以下软件包中找到: 默认-JDK 欧洲法院 GCJ-5-JDK openjdk-8-jdk-headless GCJ-4.8-JDK GCJ-4.9-JDK openjdk-9-jdk-headless尝试: 适当的安装"

然后你可以使用以下命令安装"openjdk-8-jdk-headless":

APT 安装 OpenJDK-8-JDK-Headless

这解决了我的问题,maven 构建正常。

最新更新