无法findJavac编译器

我试图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 

我也尝试select其中一个用sudo update-alternatives --config java打开,但得到了与它不同的jdk版本相同的错误。

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

好像你的PATH没有正确拾取…“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”或者类似的东西)

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

“程序'javac'可以在下面的包中找到:default-jdk ecj gcj-5-jdk openjdk-8-jdk-headless gcj-4.8-jdk gcj-4.9-jdk openjdk-9-jdk-headless尝试:apt安装“

然后你可以使用下面的命令安装“openjdk-8-jdk-headless”

安装openjdk-8-jdk-headless

这解决了我的问题,maven构建通过了。