2012-11-01 73 views
0

當我運行Jenkins從存儲庫檢出代碼並執行mvn package或某些命令時。我得到這個錯誤:Java編譯錯誤無法配置JAVA_HOME

Unable to locate the Javac Compiler in: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/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.

My JAVA_HOME points at jdk location only.Still it looks at 

/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/tools.jar 編譯器。這是爲什麼???

看來問題出在代碼中。它指向/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/用於tools.jar ,但它需要查看/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/lib/,其中jar是存在的。我試着將jar複製到jre/lib /中,但是卻沒有avail.Any解決方案... 謝謝你的答案無論如何..

+0

你有沒有試過設置你的JAVA_HOME環境變量? – Abubakkar

+0

嘗試'哪個java'命令,然後'java -version',然後查看您已安裝jdk的位置,或確認您是否有jdk或只有JRE – khan

+0

我的JDK指向/jdk1.7.0_05/bin/java – user1728119

回答

2

你需要jdk(Java開發工具包)來編譯java程序。 jre只用來運行編譯的java程序。在你的情況下它指向一個jre,這就是爲什麼你得到這個。 你可以下載jdk並安裝。

你可以從這裏

http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html 

使用此下載JDK rpm到選擇Java選擇,如果你已經安裝了。

/usr/sbin/alternatives --config java 
+0

謝謝但如果我已經在正確的地方安裝了jdk? – user1728119

+0

使用這個並檢查你已經安裝的版本是什麼,/ usr/sbin/alternatives --config java,如果jdks可用,你可以在這裏選擇你的版本。 – Suranga

+0

/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java這就是我正在使用的......但錯誤說它不包含tools.jar – user1728119

0

卸載已安裝的JRE。只保留一個由JAVA_HOME定義的JAVA,並相對於JAVA_HOME定義您的lib和classpath。