Java Gradle找不到tools.jar

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

我将JavadocDoclets与gradle一起使用,因此我需要使用package tools.jar,它位于jdk的lib文件夹中(在我的例子中是1.6.026)

关键是gradle不会自动接受它,所以我将该tools包添加到我的libs文件夹中,然后将其添加到dependencies.gradle

现在我想把它直接从我的JDK主页带到我的dependencies.gradle中。有办法吗?我已在dependencies.gradle中尝试了下一种方法:

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