Ant无法找到javac编译器

时间:2016-11-23 23:59:36

标签: java linux ant

我正在尝试构建应用程序的一些二进制文件。当我想要构建时,我得到了这个:

BUILD FAILED /home/.../ant-build.xml:84: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "/usr/lib/jvm/java-8-openjdk-amd64/jre"

应用程序需要java 7,我已经安装了它,但是我已经安装了它。只需要java7中的tools.jar,因此经过几次尝试后我卸载了java 8.但是,当我我正在尝试再次制作,我得到了同样的错误,即使我根本没有安装java8!

我正确地设置了JAVA_HOME:

$ echo $JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64/ 我怀疑我是否需要这条道路,但我也将其设置为以防万一:

$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-7-openjdk-amd64/bin

我在这里没有想法:P任何帮助都会受到赞赏。

也可能是重要的东西,我不得不手动添加repo来获取java-7,否则它无法找到包。那是我得到双jdk-s。

3 个答案:

答案 0 :(得分:0)

我猜你是从Jenkins / Bamboo / Teamcity等任何其他源/工具调用JAVAC命令。确保已设置该工具的环境变量。通常它位于管理工具选项中。

我在使用Jenkins时遇到了同样的问题。如果你没有在工具中设置一个环境变量,你可以从中调用它 “/ usr / lib / jvm / java-8-openjdk-amd64 / jre”所以去设置你工具的env变量JAVA_HOME。附上詹金斯问题的屏幕截图。转到管理Jenkins - >配置系统 - >环境变量并设置java_home路径。 干杯issue enter image description here

答案 1 :(得分:0)

我刚遇到同样的情况。

这是因为在JAVA_HOME环境中未正确设置sudo

我在export JAVA_HOME=/path/to中添加了/root/.bashrc,最终它被正确构建了。

答案 2 :(得分:0)

似乎您正在使用Java8的javacJAVA_HOMECLASS_PATH指向Java7。

您可以使用which java进行检查。

export JAVA_HOME=/lib/jvm/java-7-openjdk-amd64
export export ${PATH}=${JAVA_HOME}:/bin:${PATH}`