问题
我正在使用带有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
:
然后你需要编辑你的PATH变量以包含JAVA_HOME,即.%JAVA_HOME%/bin;
重新打开命令提示符,应该运行。
#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存储库,然后单击"确定"
再跑一次,享受吧!