Gradle 无法找到 tools.jar

29

我正在使用LibGdx制作游戏,非常喜欢它!它非常简单,并且比JME3和LWJGL更好。但是,在尝试打包时出现错误。这里是Gradle GUI的图像:http://prntscr.com/845kyx,以下是完整的调试错误:http://pastebin.com/ugdfySg1,我不知道如何调试这些错误,希望有人能够提供帮助。我还尝试重新创建整个项目并将其制作为Eclipse有效项目,而不仅仅是Gradle,但没有成功。

输入图片说明

请问您能否在您的帖子中包含屏幕截图和错误日志? - dunni
我已经做了,它们在以下链接:http://prntscr.com/845kyx 和 http://pastebin.com/ugdfySg1。 - Fishy
我的意思是你能否直接包含它们,而不是作为链接。如果这些服务已失效,则您的问题和答案对于其他遇到同样问题的人变得无用。 - dunni
6个回答

36

我的项目根目录下有一个名为 gradle.properties 的文件,其中包含以下属性:

org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_74

org.gradle.java.home 需要指向有效的 JDK 安装路径。

如果没有这个文件,将会出现同样的错误(找不到 tools.jar)。有了这个文件,这个问题就不再存在了。


3
无法在具有不同配置的多个开发人员之间使用! - Markus L
@MarkusL 您的说法是正确的。每个开发人员都必须创建自己的 gradle.properties 文件。该文件不适用于共享。 - Philippe
当我在gradle.properties中将其设置为以下内容时,它对我起作用了:org.gradle.java.home=/usr/lib/jvm/default-java/ - Martin Naughton

28

对我来说,解决方法是这样的:

yum install java-1.8.0-openjdk-devel

对于较新的CentOS/Fedora/RHEL版本:

dnf install java-devel

4
对于在 Fedora 24 及以上版本中使用的用户,可通过以下命令安装 Java 1.8 开发包:sudo dnf install java-1.8.0-openjdk-devel - joseluisq
1
我在尝试在CentOS 7.2上安装Voldemort KV存储时遇到了相同的问题。通过运行"yum install java-1.8.0-openjdk-devel"命令,问题得以解决。 - Carbonrock

19

您需要设置系统属性"java.home"和环境变量JAVA_HOME为有效的JDK。

要设置环境变量,请运行: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64


9
我认为你可以详细阐述这个答案,例如如何在Linux中设置系统属性等。 - iamsaksham
还要添加以下命令:export PATH="${PATH}:${JAVA_HOME}/bin" - Loich

14
sudo apt-get install openjdk-7-jdk

为我的 Jenkins 工作修复了它。


13
可以尝试使用命令 sudo apt-get install openjdk-8-jdk 安装 OpenJDK 8 开发包。 - sage
1
至少在Ubuntu Xenial中,软件包openjdk-8-jdk-headless提供了/usr/lib/jvm/java-8-openjdk-amd64/lib/tools.jar - vesperto
在我的WSL上,只有openjdk-8-jdk有tools.jar,openjdk-8-jdk-headless无法使用。 - Tamaki Sakura

7
如果我们已经有了很多不同的发行版答案,我可能会加上Arch的答案:
sudo pacman -S jdk8-openjdk

1
这对我来说是一个临时解决方案。在我的项目根目录下的“gradle.properties”文件中,我有一行代码:
org.gradle.java.home=/usr/lib/jvm/default-java/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接