Eclipse Gradle build"找不到tools.jar"

时间:2016-06-07 02:41:40

标签: java eclipse gradle build

我已经谷歌搜索了一整天,并尝试了几乎所有建议的解决方案,没有一个是为我的日食工作,完全不知道出了什么问题,它一直在说"找不到tools.jar"当我尝试通过Gradle构建时。

我做了什么:

1)在系统环境变量中添加Java Home(指向我的JDK)。

2)在Path系统环境变量中添加路径(包含tools.jar)。

3)在项目文件夹中创建dependencies.gradle个文件,指示Gradle查找tools.jar(compile files("${System.properties['java.home']}/../lib/tools.jar")

4)直接将compile files("${System.properties['java.home']}/../lib/tools.jar")放在build.gradle dependencies那里。

5)在项目首选项中,转到Java -> Build Path -> Classpath变量,添加JAVA_HOME变量。

6)将项目构建路径指向JDK而不是JRE。

这些都不起作用!我还能尝试什么?

PS:Eclipse版本Mars 4.5.2,Gradle版本1.12

build.gradle内容(此构建脚本由eclipse自动生成):

apply plugin: 'java'
apply plugin: 'eclipse'

sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

Java Home内容:

region monitoring methods

路径环境变量:

C:\Program Files\Java\jdk1.7.0_67\lib

在eclipse控制台中显示错误:

:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar

* 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: 0.152 secs
[sts] Build failed
org.gradle.tooling.BuildException: Could not execute build using Gradle 
installation 'C:\buildtools\gradle-2.12'.
Caused by: java.lang.IllegalStateException: Could not find tools.jar

(stacktrace太长了,我缩短了。)

9 个答案:

答案 0 :(得分:7)

好的,我终于解决了我的问题。这很容易,我重新安装了JDK。不知何故,愚蠢的Eclipse(或Gradle插件,我仍然不确定哪个出错)只是无法识别我的旧JDK路径。

在我重新安装JDK之后(抓住这个机会,我也将JDK 7升级到8),我甚至不需要Java_home环境变量,它可以工作。

答案 1 :(得分:2)

我建议在尝试使用eclipse gradle构建之前让你的构建从命令行运行。看起来你的类路径有问题,但它不清楚究竟是什么问题。最初从混合中删除eclipse并使构建在没有eclipse的情况下工作会很有帮助。在命令行cd到存储build.gradle脚本的文件夹并运行

> gradle clean build

> ./gradlew clean build

如果这样可以正常但是eclipse构建仍然失败,那么你就会知道问题出在你的eclipse配置中。如果从命令行使用gradle构建项目不起作用,则项目或gradle设置存在潜在问题。有大量文档可以解释如何使用命令行中的gradle构建项目。

答案 2 :(得分:2)

第1步:打开 eclipse

第2步:打开窗口 - >选择

步骤3:转到 Gradle(STS) - >参数

步骤4:为 Java Home 选项选择合适的JDK版本。         (见下图)

enter image description here

答案 3 :(得分:2)

我遇到了同样的问题。我相信它是由JRE引起的,gradle被配置为使用而不是eclipse / STS JRE。在我的机器上,gradle默认使用了错误的JRE。安装gradle时(即使是通过buildship),它会在Windows上的主目录(C:/ Users / username)中放置一个.gradle目录。您可以在.gradle中创建gradle.properties文件,并指定您希望gradle使用的JRE / JDK,如下例所示:

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

这可能是通过使用robyjwilkins推荐的命令行方法来揭示的。它应该避免重新安装JDK。

有关详细信息,请参阅https://docs.gradle.org/current/userguide/build_environment.html

答案 4 :(得分:1)

我的回答是我需要使用JDK捆绑的JRE而不是独立的系统JRE来运行Eclipse。

修改eclipse.ini以更改vm eclipse(.exe)查找。即:

-vm
C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe

答案 5 :(得分:1)

在我的OP解决方案也不起作用的情况下,答案是

  1. 右键单击Eclipse / Gradle Tasks插件窗口中的gradle任务
  2. 打开标签'Java Home'
  3. 将Java home设置为C:\ Program Files \ Java \ jdk1.8.0_131 \ jre

    目录可能因jdk版本

  4. 而异

答案 6 :(得分:1)

这是一个常见的问题,它总是发生,因为eclipse已经将JAVA_HOME或JDK_HOME配置为JRE位置,而这些位置没有tools.jar,因此存在问题。对于这种特殊情况:Eclipse通常使用Gradle(STS)或Buildship插件进行gradle构建,因为这些使用eclipse提供的设置,因此构建失败。

现在考虑以上事实。有几种解决方案可以起作用:

  1. 如果你仍然想使用嵌入式gradle,那么修改eclipse.ini文件以提供JDK位置,我想这个插件可能会使用它,你的问题可能会得到解决。或者您甚至可以尝试为JDK位置配置STS插件
  2. 如果你去Window>首选项> Gradle并将其配置为使用外部Gradle安装,然后您可以在USER位置提供gradle.properties文件(由@Andy Sinclair解决)
  3. 在类似的说明中,即使对于基于Eclipse的常规Java项目,您甚至可能会遇到此问题。再解决方案是一样的。

答案 7 :(得分:0)

在安装最新的Java更新后,我遇到了“找不到tools.jar”的问题。

Oracle似乎没有将tools.jar与JRE捆绑在一起。

要解决-我将旧版本中的tools.jar复制到当前JRE的 java / jren_nn / lib 文件夹中。  然后我重启了Eclipse

答案 8 :(得分:0)

我使用的是 Eclipse 2019-09 ,我只是通过迫使Eclipse不要在“ Windows>首选项> Gradle”中使用Gradle包装器来解决此问题。

然后在“本地安装目录”字段中,指向“您的gradle_folder / bin”

Gradle首选项菜单与Eclipse版本不同,我想阅读anij答案。