我已经谷歌搜索了一整天,并尝试了几乎所有建议的解决方案,没有一个是为我的日食工作,完全不知道出了什么问题,它一直在说"找不到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内容:
路径环境变量:
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太长了,我缩短了。)
答案 0 :(得分:7)
在我重新安装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版本。 (见下图)
答案 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解决方案也不起作用的情况下,答案是
将Java home设置为C:\ Program Files \ Java \ jdk1.8.0_131 \ jre
目录可能因jdk版本
答案 6 :(得分:1)
这是一个常见的问题,它总是发生,因为eclipse已经将JAVA_HOME或JDK_HOME配置为JRE位置,而这些位置没有tools.jar,因此存在问题。对于这种特殊情况:Eclipse通常使用Gradle(STS)或Buildship插件进行gradle构建,因为这些使用eclipse提供的设置,因此构建失败。
现在考虑以上事实。有几种解决方案可以起作用:
在类似的说明中,即使对于基于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答案。