Java Gradle找不到tools.jar
我将JavadocDoclets与gradle一起使用,因此我需要使用package tools.jar,它位于jdk的lib文件夹中(在我的例子中是1.6.026) 关键是gradle不会自动接受它,所以我将该tools包添加到我的libs文件夹中,然后将其添加到dependencies.gradle 现在我想把它直接从我的JDK主页带到我的dependencies.gradle中。有办法吗?我已在dependencies.gradle中尝试了下一种方法:Java Gradle找不到tools.jar,java,gradle,groovy,build,Java,Gradle,Groovy,Build,我将JavadocDoclets与gradle一起使用,因此我需要使用package tools.jar,它位于jdk的lib文件夹中(在我的例子中是1.6.026) 关键是gradle不会自动接受它,所以我将该tools包添加到我的libs文件夹中,然后将其添加到dependencies.gradle 现在我想把它直接从我的JDK主页带到我的dependencies.gradle中。有办法吗?我已在dependencies.gradle中尝试了下一种方法: compile files("${S
compile files("${System.properties['java.home']}/lib/tools.jar")
但是它在编译时找不到它。您确定tools.jar在编译类路径上找到了它吗?可能路径不正确
task debug << {
configurations.compile.each { println it }
}
task debug您是否确保tools.jar位于编译类路径上?可能路径不正确
task debug << {
configurations.compile.each { println it }
}
任务调试找到了它系统属性“java.home”不是java\u home环境变量。java\u home指向JDK,而java.home指向JRE。有关更多信息,请参阅
苏。。。我的问题是,我的起始点是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")
找到了系统属性“java.home”不是java\u home环境变量。java\u home指向JDK,而java.home指向JRE。有关更多信息,请参阅
苏。。。我的问题是,我的起始点是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")
可能已经晚了两年,但我最近遇到了同样的问题,这就是我在发现以下问题后得出的解决方案:
如果java.home指向一个不在JDK目录下的目录,甚至在Mac OS上,如果您使用classes.jar而不是tools.jar,它应该可以工作。可能已经晚了两年,但我最近遇到了同样的问题,这就是我在发现以下问题后最终得到的解决方案:
如果java.home指向一个不在JDK目录下的目录,甚至在Mac OS上,如果您使用classes.jar而不是tools.jar,它应该可以工作。我在尝试通过CLI运行命令时遇到了这个问题
系统查看JRE文件夹时出现问题,即。
D:\ProgramFiles\Java\jre8\bin
。如果我们查看那里,没有Tools.jar
,因此出现了错误
在我的例子中,您需要找到JDK
的位置:D:\Program Files\Java\jdk1.8.0_11
,如果您查看lib
目录,您将看到Tools.jar
我所做的是创建了一个新的环境变量JAVA\u HOME
:
然后您需要编辑PATH变量以包含JAVA_HOME,即%JAVA_HOME%/bin代码>
重新打开命令提示符并应运行 我在尝试通过CLI运行命令时遇到了这个问题
系统查看JRE文件夹时出现问题,即。
D:\ProgramFiles\Java\jre8\bin
。如果我们查看那里,没有Tools.jar
,因此出现了错误
在我的例子中,您需要找到JDK
的位置:D:\Program Files\Java\jdk1.8.0_11
,如果您查看lib
目录,您将看到Tools.jar
我所做的是创建了一个新的环境变量JAVA\u HOME
:
然后您需要编辑PATH变量以包含JAVA_HOME,即%JAVA_HOME%/bin代码>
重新打开命令提示符并应运行 我也在为这个解决方案苦苦挣扎。如前所述,找到了一个更好的办法。
我们可以从Gradle本身获得JVM/JDK信息
dependencies {
runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}
很简单。我也在为这个解决方案而奋斗。如前所述,找到了一个更好的办法。
我们可以从Gradle本身获得JVM/JDK信息
dependencies {
runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}
很简单。我刚刚添加了一个gradle.properties
文件,其中包含以下内容:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
我刚刚添加了一个包含以下内容的gradle.properties
文件:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
将此添加到gradle.properties
:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
org.gradle.java.home=C:\ProgramFiles\java\jdk1.8.0\U 91
将此添加到gradle.properties
:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
org.gradle.java.home=C:\ProgramFiles\java\jdk1.8.0\U 91
我在使用Eclipse执行Gradle任务时遇到了相同的错误。每次我运行命令(即war)时,进程都会抛出一个异常,如:
找不到tools.jar。请检查C:\Program Files\Java\Jre8“是否为有效的JDK安装
我尝试了本文中列出的解决方案,但没有一个解决了这个问题。以下是我的解决方案:
转到“梯度任务”视图
右键单击要执行的任务
选择Open Gradle运行配置
在“JavaHome”选项卡中选择本地JDK存储库,然后单击OK
再次运行,尽情享受!我在使用Eclipse执行Gradle任务时遇到了相同的错误。每次我运行命令(即war)时,进程都会引发如下异常:
找不到tools.jar。请检查C:\Program Files\Java\Jre8“是否为有效的JDK安装
我尝试了本文中列出的解决方案,但没有一个解决了这个问题。以下是我的解决方案:
转到“梯度任务”视图
右键单击要执行的任务
选择Open Gradle运行配置
在“JavaHome”选项卡中选择本地JDK存储库,然后单击OK
再跑一次,享受吧 像其他答案一样,我在gradle.properties文件中设置了org.gradle.java.home属性。但带\分隔符的路径不起作用(在windows 10上构建):
通过“org.gradle.Java.home”提供的Java home无效。无效的
目录:C:程序文件JavaJDK1.8.0_65
所以不是
org.gradle.java.home=C:\ProgramFiles\java\jdk1.8.0\U 65
我没有
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
echo $JAVA_HOME
/usr/libexec/java_home -V
nano ~/.zshenv
export JAVA_HOME=YOUR_JAVA_PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
source ~/.zshenv
echo $JAVA_HOME