ras*_*ayu 153 java groovy build gradle
我正在使用带有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")
Run Code Online (Sandbox Code Playgroud)
但它在编译时没有找到它.
ben*_*bia 132
当我尝试通过CLI运行命令时,我遇到了这个问题.
查看JRE文件夹的系统存在问题,即
D:\Program Files\Java\jre8\bin.如果我们在那里看,没有Tools.jar,因此错误.
JDK在我的情况下D:\Program Files\Java\jdk1.8.0_11,你需要找到它的位置:,如果你查看lib目录,你会看到Tools.jar.
然后你需要编辑你的PATH变量以包含JAVA_HOME,即 %JAVA_HOME%/bin;

重新打开命令提示符,应该运行.
ras*_*ayu 76
找到了.系统属性'java.home'不是JAVA_HOME环境变量.JAVA_HOME指向JDK,而java.home指向JRE.有关详细信息,请参阅该页面.
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")
Run Code Online (Sandbox Code Playgroud)
rat*_*tek 69
我使用Eclipse尝试执行Gradle任务时遇到了同样的错误.每次我运行命令(即战争)时,该过程都会抛出异常,例如:
找不到tools.jar.请检查C:\ Program Files\Java\Jre8"是否是有效的JDK安装.
我尝试了这篇文章中列出的解决方案,但没有一个解决了这个问题.我的解决方案:
再跑一次,享受吧!
bon*_*gen 44
我刚添加了一个gradle.properties包含以下内容的文件:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
Run Code Online (Sandbox Code Playgroud)
Ita*_*tto 29
我有一个使用Ubuntu的类似案例.机器只安装了JRE.所以,我刚刚执行了以下命令来安装JDK.
sudo apt install openjdk-8-jdk
小智 18
我对这个解决方案也很挣扎.找到一个更好的方法将其与摇篮描述这里.我们可以从Gradle本身获取JVM/JDK信息.
dependencies {
runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}
Run Code Online (Sandbox Code Playgroud)
很简单.
azi*_*ian 15
将此添加到gradle.properties:
org.gradle.java.home = C:\ Program Files\Java\jdk1.8.0_91
小智 13
在CentOS7中,开发包将安装tools.jar.该文件不存在于java-1.8.0-openjdk中
sudo yum install java-1.8.0-openjdk-devel
And*_*LED 11
这可能是两年太晚了,但我最近遇到了同样的问题,这是我找到这篇文章后得到的解决方案:
import javax.tools.ToolProvider
dependencies {
compile (
files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果java.home指向不在JDK目录下的目录,甚至在Mac OS上你有classes.jar而不是tools.jar,它应该可以工作.
Spk*_*ngR 10
我在 Mac 上的解决方案:
将此行添加到gradle.properties:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
不是这个:
org.gradle.java.home=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Run Code Online (Sandbox Code Playgroud)
你可以打开最后一个家目录,会发现没有lib/tools.jar文件存在,所以将路径更改JavaVirtualMachines/jdk1.8.0_271.jdk为对我有用。
顺便说一句,在终端中,我 echo$JAVA_HOME并获得了第一条路径,而不是第二条路径,我认为这就是我的 Gradle 无法正常工作的原因。
Fut*_*020 10
在 macOS Big Sur 中
出现此问题是因为JAVA_HOMEmacOS Big Sur中的环境变量设置不正确。
步骤 1 -JAVA_HOME通过在终端中打印其值来确认您有问题。您很可能会得到一个空字符串。
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 在您的机器上找到正确的路径
/usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)
复制与“Java SE 8”关联的路径,通常看起来像 /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
第 3 步 - 编辑.zshenv使用nano
nano ~/.zshenv
Run Code Online (Sandbox Code Playgroud)
第 4 步 - 将第 2 步中的路径添加到文件中,如下所示
export JAVA_HOME=YOUR_JAVA_PATH
Run Code Online (Sandbox Code Playgroud)
例子:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
步骤 5 - 获取更新的.zshenv文件以激活环境变量
source ~/.zshenv
Run Code Online (Sandbox Code Playgroud)
步骤 6 - 打印以确认路径
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
在Windows 10上,我遇到了同样的问题,这就是我如何修复问题;
Advance System Settings>Environment Variables>System
Variables C:\ProgramData\Oracle\Java\javapath C:\Program Files\Java\jdk1.8.0_162使用Centos 7,我发现只有JDK拥有tools.jar,而JRE没有。我已经安装了Java 8 JRE(yum install java-1.8.0-openjdk),但没有安装JDK(yum install java-1.8.0-openjdk-devel)。
安装后者可以解决该问题。另外,请记住设置JAVA_HOME。
小智 5
在我的系统(Win 10,JRE 1.8.0,Android Studio 3.1.2,Gradle 4.1)上tools.jar,JRE目录(C:\Program Files\Java\jre1.8.0_171)中没有。
但是,我发现它C:\Program Files\Android\Android Studio\jre\lib并尝试设置JAVA_HOME=C:\Program Files\Android\Android Studio\jre
这对我行得通)!
小智 5
为我解决的问题如下:
| 归档时间: |
|
| 查看次数: |
217908 次 |
| 最近记录: |