问题

我正在使用带有gradle的javadoc doclet,所以我需要使用package tools.jar,它位于jdk的lib文件夹中(在我的例子中为1.6.0_26)。

重点是gradle没有自动获取它,因此我将该工具包添加到我的libs文件夹,然后将其添加到dependencies.gradle。

现在我想直接从我的JDK home转到我的dependencies.gradle。有没有办法做到这一点?我在我的dependencies.gradle中尝试了下一个:

compile files("${System.properties['java.home']}/lib/tools.jar")

但它在编译时没有找到它。


#1 热门回答(95 赞)

当我尝试通过CLI运行命令时,我遇到了这个问题。

系统查看JRE文件夹ieD:\Program Files\Java\jre8\bin时出现问题。如果我们查看那里,没有Tools.jar,因此错误。

你需要找到JDK的位置,在我的情况下:D:\Program Files\Java\jdk1.8.0_11,如果你查看lib目录,你会看到Tools.jar

我做了什么我创建了一个新的环境变量JAVA_HOME
enter image description here

然后你需要编辑你的PATH变量以包含JAVA_HOME,即.%JAVA_HOME%/bin;
enter image description here

重新打开命令提示符,应该运行。


#2 热门回答(68 赞)

找到它.**系统属性'java.home'不是JAVA_HOME环境变量。**JAVA_HOME指向JDK,而java.home指向JRE。有关详细信息,请参阅that page

Soo ...我的问题是我的起点是jre文件夹(C:\ jdk1.6.0_26 \ jre)而不是jdk文件夹(C:\ jdk1.6.0_26),因为我认为(tools.jar在C上) :\ jdk1.6.0_26 \ lib文件夹)。 dependencies.gradle中的编译行应该是:

compile files("${System.properties['java.home']}/../lib/tools.jar")

#3 热门回答(54 赞)

我使用Eclipse尝试执行Gradle任务时遇到了同样的错误。每次我运行命令(即战争)时,该过程都会抛出异常,例如:

找不到tools.jar。请检查C:\ Program Files \ Java \ Jre8"是否是有效的JDK安装。

我尝试了这篇文章中列出的解决方案,但没有一个解决了这个问题。我的解决方案:

  • 转到"Gradle Task"视图
  • 右键单击​​要执行的任务
  • 选择"打开Gradle运行配置"
  • 在"Java Home"选项卡中,选择本地JDK存储库,然后单击"确定"

再跑一次,享受吧!


原文链接