2016-11-23 95 views
0

我想构建一些应用程序的二进制文件。当我试图使构建,我得到这个:Ant无法找到一个javac编译器

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,我安装了它,但我有它沿渣8.构建需要对其中的tools.jar是位于Java 7只,因此经过几次尝试我卸载了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任何帮助,将不胜感激。

另外也可能很重要,我不得不手动添加回购得到java-7,否则它不能找到包。那是当我得到双jdk-s。

+0

所以,问题是,你的构建抱怨$ JAVA_HOME的旧值指向JRE8而不是为你的JDK7更新的价值? –

+0

林不知道,这感觉是这样,但因为它已被完全删除,我猜它应该改变。它也在开头说明 '无法找到tools.jar。预计会在/ usr/lib/jvm/java-8-openjdk-amd64/lib/tools.jar中找到它。 –

+0

尝试在〜/ .bashrc或/etc/bash.bashrc中设置它,然后源〜/ .bashrc或source /etc/bash.bashrc –

回答

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

相关问题