2016-11-23 99 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

相關問題