我正在为一个Java程序搭建开发环境,第一次尝试使用Ant构建脚本后,出现了以下错误:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar
虽然 JDK 的路径是正确的,但 tools.jar 确实不在那里。它实际上应该在那里吗,还是我在配置/安装方面出了什么问题?
我正在为一个Java程序搭建开发环境,第一次尝试使用Ant构建脚本后,出现了以下错误:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar
虽然 JDK 的路径是正确的,但 tools.jar 确实不在那里。它实际上应该在那里吗,还是我在配置/安装方面出了什么问题?
看起来您可以在 /usr/lib/jvm/java-6-openjdk 中安装了Java,但只有JRE,没有JDK。这是我的解决方法:
sudo apt-get install openjdk-6-jdk
sudo apt-get install openjdk-8-jdk
。 - Tim Kuipersant
包难道不应该依赖于JDK吗? - dreamlaxjava-1.x.0-openjdk
是不够的。还需安装java-1.x.0-openjdk-devel
。这个问题似乎出现在我的机器上。我正在运行Windows XP SP3上的Sun JDK 1.6.0_21。
您确定您安装了JDK吗?可能你只安装了JRE?
export JAVA_HOME=/usr/bin
- gouravtiwari21~/.bashrc
中实际设置export
。我发现仅在运行特定的build.sh
之前在终端中执行此操作并不能解决问题。我还设置了export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
而不仅仅是/usr/
;JAVA_HOME
应该是JDK的安装目录,因为Ant将(我认为)查找JAVA_HOME/bin
和JAVA_HOME/lib
。 - orlade/usr/lib/jvm/java-11-openjdk-amd64/
,那是怎么回事? - Jamie Lindseyapt-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
中没有任何关于tools.jar
的提及,尽管/usr/lib/jvm/java-6-openjdk-amd64
本身是存在的。
https://packages.debian.org/search?searchon=contents&keywords=java-6-openjdk-amd64%2Flib%2Ftools.jar
根据上面的搜索,java-6-openjdk-amd64/lib/tools.jar
似乎是openjdk-6-jdk
的一部分,而ant没有安装它(因为它只被标记为建议安装(https://packages.debian.org/wheezy/ant))。apt-get install openjdk-6-jdk
。apt install defalut-jdk # this doesn't contain some file, like tools.jar...
apt install openjdk-8-jdk # this contains all files.
在Ubuntu上,我只需要安装JDK即可。
sudo apt-get install openjdk-7-jdk
...并且你可以随时搜索所有可用版本。
$ sudo apt-cache search openjdk | grep ^openjdk
从网站https://openjdk.java.net/install/我们可以了解到:
openjdk-7-jre 包仅包含 Java 运行环境。如果您想要开发 Java 程序,请安装 openjdk-7-jdk 包。
尝试以下操作:
% sudo apt-get install sun-java6-jdk
% sudo update-alternatives --config java
选择路径为
/usr/lib/jvm/java-6-sun/jre/bin/java
的选项。在我的ubuntu 10.4上运行正常。
你也可以设置JAVA_HOME,方法如下:
% sudo export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
openjdk-7-jre-lib
随后出现了tools.jar。
(我知道这是一篇旧贴子,但我希望评论能对像我今天正在寻找答案的某人有所帮助。)
从oracle.com网站下载jdk-6u45-linux-x64.bin文件并通过解压安装,不会生成tools.jar文件。我猜这个文件是由“make-jpkg”脚本创建的。一旦我执行了该脚本并安装了生成的.deb文件,一切都正常了。
我真的很讨厌甲骨文公司的律师。
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