2013-01-18 46 views
19

当我尝试运行以下命令我得到一个错误:无法找到tools.jar。希望能够找到它在C: Program Files文件的Java JRE6 李斌 tools.jar中

$ ant -Dsdk.dir=/opt/google/appengine-java-sdk runserver -Dserver.host=192.168.1.10 

以下是错误:

"Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li b\tools.jar".

我已经给出了JAVA_HOME中的jdk路径变量C:\PROGRA~1\Java\jdk1.6.0_25,因为我的jdk位置是C:\Program Files (x86)\Java\jdk1.6.0_25

问题是什么?请帮助我。提前感谢。

当我试图运行命令蚂蚁-diagnostics,我

java.home : C:\Program Files\Java\jre6 
+0

您是否知道该路径中“li”和“b”之间的空格字符?我非常怀疑它应该在那里;) – posdef

+0

这可能只是一个错字 – AurA

+1

JRE没有tools.jar。从路径判断,似乎'ant'仍然加载JRE而不是JDK。 –

回答

2

你可能会建立一些项目具有在项目根级称为local.properties旧文件。那里有一个sdk.dir属性,它指向错误。用编辑器打开该文件并且正确。

此外,您的命令行看起来有问题。在那里你使用一些Unix路径来指定sdk的位置,并且从其余的消息看你在Windows上。确保财产符合您的sdk位置。它可能根本不需要。

+0

该命令将使用标准的App Engine for Java for Cloud云消息传递设置服务器,并且我正在使用Windows。 – user1767260

+0

你在哪里在本地或在服务器上构建项目? – h22

+0

本地构建 – user1767260

23

您应该尝试在PATH环境变量的开始处添加%JAVA_HOME%\ bin(给定语法假定Windows当然是)。 正如Peter Knego所说的,tools.jar存在于JDK中,而不是JRE中,因此您必须确保JAVA_HOME指向您的JDK目录。

+1

%JAVA_HOME%\ bin出现在路径末尾,所以改变位置,即添加在PATH环境变量的开始位置。有用!!但有什么区别? – StackOverFlow

+2

那么,当操作系统试图找到一个可执行文件时,它将按照列出的顺序尝试PATH中列出的所有位置。所以如果你真的想要找到一些东西,就把它放在开头,以防在其他一些地方发现一个同名的可执行文件。这可能是导致你的问题的原因:另一个java可执行文件可以在现有的PATH位置中找到,或者某种方式混淆了PATH语法,并且PATH的最后部分不可用。这是最可能的原因。 –

+1

%JAVA_HOME%\ lib在路径开始处,如果你想加载tools.jar –

相关问题