我正在为 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
注意:在 CentOS / RHEL 上安装java-1.x.0-openjdk
是不够的。同时安装java-1.x.0-openjdk-devel
.
它在我的机器上。我在 Windows XP SP3 上运行 Sun JDK 1.6.0_21。
你确定你有JDK吗?你有可能只有JRE吗?
在 Debian 上,使用 安装 Ant 后apt-get install ant
,我在运行它时遇到了同样的错误:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk-amd64/lib/tools.jar
确实,尽管它本身确实存在,但tools.jar
在任何地方都没有提及。/usr/lib
/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 安装 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::")
通过解压缩安装 jdk-6u45-linux-x64.bin(来自 oracle.com 站点)不会生成 tools.jar。我猜该文件是由“make-jpkg”脚本创建的。一旦我这样做了,并安装了生成的 .deb 文件,一切都很好。我真的很讨厌甲骨文的律师。
即使您安装了 jdk,您也需要重定向 JAVA_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。
(我知道这是一篇旧帖子,但希望它对像我今天一样潜伏着寻求答案的人有所帮助。)