无法找到tools.jar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法找到tools.jar相关的知识,希望对你有一定的参考价值。

我正在用Java构建一个项目。

我有这个错误:

Unable to locate tools.jar. Expected to find it in C:Program FilesJavajre6lib	ools.jar

我已经安装了JDK和文件夹:C:Program FilesJavajre6lib在我的系统中,但文件tools.jar不存在。

答案

是的,您已经下载并安装了Java Runtime Environment(JRE)而不是Java Development Kit(JDK)。后者有tools.jar,java.exe,javac.exe等。

另一答案

如果您已经安装了JDK 9.0.1,那么您也会遇到此问题,因为不推荐使用tools.jar。见migration document

另一答案

转到安装java的jdk路径

例如,在我的PC JDK中安装以下路径

“C: Program Files Java jdk1.7.0_17 ”;

转到lib文件夹,例如“C: Program Files Java jdk1.7.0_17 lib”

在lib目录中有tool.jar文件

复制此文件并将其传递到jre7目录的lib文件夹中,例如

“C: Program Files Java jre7 lib”

另一答案

即使在安装Java JDK并将JAVA_HOME设置为..jdk1.6.0_45in文件夹后,我也遇到了同样的问题。

Ant仍然试图在tools.jar文件夹中找到C:Program FilesJavajre6lib。 我通过添加JAVACMD环境变量并将其路径设置为java.exe文件夹中的jdk来修复它。 在我的情况下,它是C:Program FilesJavajdk1.6.0_45injava.exe

另一答案

在eclipse窗口>首选项> Java>已安装的JRE中,我将目录指向jdk 1.7中的jre目录并为我工作了文件,例如C: Program Files Java jdk1.7.0_71 jre

另一答案

我在我的C:Program FilesJavajdk1.7.0_79中使用了JDK_path(JAVA_HOME),在我的PATH中也使用了JDK_path bin。但是,我的蚂蚁仍在使用JRE而不是JDK。

问题是我在C:ProgramDataOracleJavajavapath变量中的JDK_path之前有PATHbe。我只是在oracle之前移动了我的JDK_path并解决了问题。

另一答案

您可能在Ubuntu上遇到类似的问题:

Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar

问题是JAVA_HOME没有正确设置。

所以,在使用Java8的Ubuntu 14.04 x64上:

sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
另一答案

确保将%JAVA_HOME%和%JAVA_HOME%/ bin路径添加到PATH变量中。

关于将tools.jar复制到正确位置的所有答案充其量只是一个糟糕的想法。

确保您的IDE能够按照设计和预期的方式找到这些罐子。

另一答案

通过在运行之前设置JAVA_HOME变量,我在windows os中解决了它,如下所示:

设置JAVA_HOME = C: Program Files Java jdk1.8.0_111

另一答案

正如许多人所提到的,看起来您正在查找JRE而不是JDK中的tools.jar文件。

我还想提一下,在最近的JDK版本中,没有更多的tools.jar文件。我今天下载了最新的JDK(JDK版本12),我找不到任何tools.jar。我不得不在这里下载JDK版本8(1.8.0)https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html来获取tools.jar文件。我下载了那个版本,拿了tools.jar文件并把它放到我最近版本的lib文件夹中。

另一答案
Expected to find it in C:Program FilesJavajre6lib	ools.jar

如果你已经安装了jdk

..Java/jdkx.x.x

文件夹必须存在那里,所以在它停止它并给出完整的路径

C:Program FilesJavajdk1.6.0lib	ools.jar
另一答案

如果对任何人来说这仍然是一个问题,我对之前的答案有一点澄清。我使用只安装了JDK的ant遇到了同样的问题。虽然,JDK安装程序给了我一个这样的目录结构:

 Directory of C:Program FilesJava

05/08/2012  09:43 AM    <DIR>          .
05/08/2012  09:43 AM    <DIR>          ..
05/08/2012  09:46 AM    <DIR>          jdk1.7.0_04
05/08/2012  09:19 AM    <DIR>          jre6
05/08/2012  09:44 AM    <DIR>          jre7
               0 File(s)              0 bytes

当我运行ant时,它抱怨没有在jre7子目录下找到tools.jar。直到我set "JAVA_HOME=C:Program FilesJavajdk1.7.0_04",错误消失了。

另一答案

确保正确设置了类路径,并指向已安装的JDK的正确版本。另外,您使用的是Open JDK吗?在我尝试从打开JDK转移到Suns JDK之前,我遇到过这个问题。 This是如何解决该问题的一个例子。

另一答案

maven-compiler-plugin使用jdk,而不是jre,tools.jar在C: Program Files Java jdk1.6.0 lib tools.jar中你必须用jdk配置项目JRE System Libary,而不是jar。这是最简单的解决方案。

另一答案
  • 右键单击您的ant文件
  • 转到“运行方式”,然后单击“Ant Build ...”
  • 转到“JRE”选项卡
  • 选择JDK而不是JRE
另一答案

解决这个问题我只是将tools.jar文件从C: Program Files Java jre1.8.0_112 lib复制到C: Program Files Java jdk1.8.0_112 lib,这样我就有了两个tools.jar文件而不是一个,问题消失了。

另一答案

对我来说有什么用:我下载了旧版本的Java 1.7

我实际上在安装1.7版本之后从C:/ program files X86 / Java BUT设置了我的JAVA_HOME我在程序文件/ Java中有另一个Java。此刻我在这里找到了tools.jar。然后我改变了这条新路径,它正在发挥作用

另一答案

我也面临同样的错误。将Java_Home路径设置为C: Program Files Java jdk1.8.0_121后,将其删除。在系统路径变量中定义%JAVA_HOME% bin之后,请确保路径中不包含bin,并且在jdk1.8.0_121之后没有斜杠。

另一答案

如果您在RHEL环境中,包含tools.jar的包名称将以“openjdk-devel”结尾。

另一答案

这是Windows的解决方案:在计算机>高级系统设置>高级>环境变量...中,在系统变量中添加:

enter image description here

另一答案

我已经下载了tools.jar,之后我将它复制到错误消息中的路径中。

C: Program Files Java jdk-11.0.1 bin>粘贴此处tools.jar

之后我重新启动了Spring Tool Suit 4,一切正常。当我试图解决这个问题时,我制作了新的环境变量:控制面板/系统/ Advenced /环境变量/新名称:JAVA_HOME值:C: Program Files Java jdk-11.0.1但我不知道是这是必要的。

另一答案

也许你已经在操作系统中更新了JRE,并且添加了在环境变量的“路径”中添加了一个覆盖你的JAVA_HOME的条目“... / Oracle / jer”。尝试通过离开JAVA_HOME将其从“路径”中删除。

另一答案
  1. 安装Java SDK
  2. 添加名为JAVA_HOME的系统环境变量,其值为JDK location。 转到控制面板系统和安全系统。高级系统设置,环境变量,系统变量,新...示例: 变量名称:JAVA_HOME 变量值:C: Program Files Java jdk1.7.0_21
  3. 关闭/重新打开CMD窗口,以便在尝试重新运行ant命令之前新变量生效。
另一答案

我有同样的问题,并将C:Program FilesJavajdk1.6.0_26lib ools.jar复制到C:Program FilesJavajre6libext为我工作

另一答案

将您的JAVA_HOME环境变量设置为指向C:Program FilesJavajdk1.7.0_02

另一答案

如果你在Linux中,你可以通过在系统上安装java来解决这个问题:

sudo apt-get install openjdk-7-jdk openjdk-7-jre
另一答案

不,根据您的目录结构,您已经安装了JRE,而不是JDK。有区别。

C:Program FilesJavajre6lib
                      ^^^^

它应该是这样的:

C:Program FilesJavajdk1.6.0_24
另一答案

不要花太多时间寻找tools.jar。如果你得到这样的错误,不要生气。

如果你已经拥有java JDK 1.5,请转到你的lib文件夹,那里应该有tools.jar。将其复制并粘贴到ant bin文件夹中,然后尝试使用命令ant -version

你应该看到预期的结果。

另一答案

我在linux机器上遇到了同样的问题。起初我很沮丧,因为我已经安装了JDK和JRE。我同时使用版本1.6,1.7和1.8,并且我已经玩了很多替代方案来正确设置所有内容。

解决这个问题非常愚蠢,但反直觉。当我使用正确的JDK时,我注意到maven抱怨的工具路径 - 它期待它是

$JAVA_HOME..lib	ools.jar

$JAVA_HOME变量直接指向我的jdk文件夹(/usr/local/java,这也是正确的$PATH条目和替代sym链接)。它实际上搜索java目录之外的lib文件夹,因为:

$JAVA_HOME..lib	ools.jar

将解决

/usr/local/lib/tools.jar

这不是一个有效的位置。

要解决这个问题,$JAVA_HOME变量应该指向这个位置/usr/local/java/jre(假设JDK路径是/usr/local/java) - JDK安装目录中实际上有jre以上是关于无法找到tools.jar的主要内容,如果未能解决你的问题,请参考以下文章

无法找到 tools.jar [重复]

Ant + Vista 64:“无法找到 tools.jar”(jre/jdk 冲突?)

无法在项目上执行目标 org.apache.maven.plugins:maven-compiler-plugin (default-compile):致命错误编译:未找到 tools.jar

Gradle 没有找到 tools.jar

pom文件miss artifact com.sun:tools:jar:1.5.0:system问题

由于缺少 tools.jar,Maven AspectJ 插件无法使用 Java 9 构建