Gradle找不到tools.jar

时间:2018-11-09 13:15:41

标签: java gradle build java-8 opensuse

我找到了这个post,但是答案并不能解决我的问题。答案仅针对Windows系统,并提供了对我正在运行的操作系统没有帮助的文件路径。 我正在用Java 1.8运行openSUSE Leap 15,不能更改操作系统或Java版本。

当我尝试使用命令./gradlew clean build进行构建时,出现以下错误:

:buildtools:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':buildtools:compileJava'.
> Could not find tools.jar. Please check that /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre contains a valid JDK installation.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 15.364 secs

我已经这样检查我的Java安装:

 $> rpm -qa | grep java
javapackages-tools-5.0.0+git20180104.9367c8f6-lp150.1.2.x86_64
timezone-java-2018g-lp150.2.13.1.noarch
java-1_8_0-openjdk-1.8.0.181-lp150.2.6.1.x86_64
libjavascriptcoregtk-4_0-18-2.20.5-lp150.2.6.1.x86_64
java-1_8_0-openjdk-headless-1.8.0.181-lp150.2.6.1.x86_64

我还签出了JAVA_HOME:

$> echo $JAVA_HOME
/usr/lib64/jvm/jre-1.8.0-openjdk

1 个答案:

答案 0 :(得分:2)

这些评论启发了我寻找解决方案。显然,安装软件包java-1_8_0-openjdk仅会提供OpenJDK 8运行时环境。我误以为它会包含开发工具,因为它的名称为“ jdk”( J ava D 开发 K )。

我的问题通过简单地安装软件包java-1_8_0-openjdk-devel来解决,该软件包实际上包括开发工具,例如:sudo zypper in java-1_8_0-openjdk-devel

命令zypper se jdk可以帮助您确定jdk安装的状态。安装软件包java-1_8_0-openjdk-devel之后,您应该在软件包名称旁边看到一个i+。您应该能够发现以下两行:

i+ | java-1_8_0-openjdk        | OpenJDK 8 Runtime Environment      | package
i+ | java-1_8_0-openjdk-devel  | OpenJDK 8 Development Environment  | package