Ant需要tools.jar并且无法find它
我正在为Java程序放置一个开发环境,并在我的Ant构build脚本的第一次尝试后,我得到了这个错误:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar
虽然jdk的path是正确的,但tools.jar确实不在那里。 它实际上应该在那里,或者我得到一些configuration/安装的东西是错的?
它在我的机器上 我在Windows XP SP3上运行Sun JDK 1.6.0_21。
你确定你有JDK吗? 是否有可能只有JRE?
看起来你可以在/ usr / lib / jvm / java-6-openjdk中安装Java,但只有JRE,而不是JDK。 这对我来说是固定的:
sudo apt-get install openjdk-6-jdk
注意:在CentOS / RHEL上安装java-1.x.0-openjdk
是不够的。 同时安装java-1.x.0-openjdk-devel
。
尝试以下操作:
%sudo apt-get install sun-java6-jdk
%sudo update-alternatives –config java
select具有该path的选项
/ usr / lib中/ JVM / JAVA -6-太阳/ JRE / bin中/ JAVA
在Ubuntu 10.4上为我工作
你可以尝试把你的JAVA_HOME也如下所示:
%sudo export JAVA_HOME = $(readlink -f / usr / bin / javac | sed“s:/ bin / javac ::”)
在Ubuntu上,我需要安装JDK sudo apt-get install openjdk-7-jdk
通过unzip安装jdk-6u45-linux-x64.bin(来自oracle.com站点)不会产生tools.jar。 我猜这个文件是由“make-jpkg”脚本创build的。 一旦我做到了,并安装了.deb文件,一切都很好。 我真的讨厌甲骨文的律师。
在Debian上,使用apt-get install ant
安装Ant之后,运行它时遇到了同样的错误:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk-amd64/lib/tools.jar
事实上,虽然/usr/lib/jvm/java-6-openjdk-amd64
本身确实存在,但在/usr/lib
的任何位置都没有提到任何tools.jar
。
https://packages.debian.org/search?searchon=contents&keywords=java-6-openjdk-amd64%2Flib%2Ftools.jar
根据上面的search, java-6-openjdk-amd64/lib/tools.jar
似乎是openjdk-6-jdk
,它确实没有与ant一起安装(因为它只被标记为build议( https:/ /packages.debian.org/wheezy/ant ))。
apt-get install openjdk-6-jdk
即使你安装了jdk,你也需要redirectJAVA_HOME来指向它。
这里有一个奇怪的技巧,你可以把你的.profile正确设置JAVA HOME,无论你有哪些Java:
export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/java))) # Test for jdk installed above jre if [ -x $JAVA_HOME/../bin/java ]; then export JAVA_HOME=$(dirname $JAVA_HOME); fi
在Ubuntu上,我已经通过安装软件包解决了这个问题
openjdk-7-jre-lib
之后出现tools.jar。
(我知道这是一个旧的post,但是希望能对像今天这样的潜在回答有帮助。)