Gradle同步失败:无法让私有的静态final java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment字段可访问。

12

我尝试构建我的gradle项目,但是出现了以下错误:

下午1:36 Gradle同步失败:无法使私有静态常量java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment可访问:模块java.base未向未命名模块@7d417077开放java.lang(5秒556毫秒)

build.gradle 文件

不过,我并不知道gradle,也没有计划去学习它,但我别无选择。先谢谢。

5个回答

15

我曾经遇到一个类似的问题,是因为一个旧的BungeeCord插件使用了Gradle 4.10版本。在我的案例中——看起来是那个旧版本的Gradle和Java 16不兼容,所以我手动更改了gradle/wrapper/gradle-wrapper.properties文件的内容,将其改用Gradle 7.0。

原始文件:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip

新文件:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip

现在它可以正常运行了,不再有Gradle错误。


1
更改后,我必须点击“文件->与Fradle文件同步项目”来启动更新。可能重新启动也会产生同样的效果。 此外,版本7.0是正确的,但一直在变化,我们成功地从https://services.gradle.org/distributions/列表中选择了最新的版本。 - markyk

3

当我打开某人发送给我的Android项目时,我在IntelliJ中遇到了这个错误。它是一个Gradle错误,我不确定根本原因。我认为在发送项目的人的.idea文件夹中没有设置Gradle JVM。

我的解决方法是在IntelliJ中显式设置Gradle JVM,方法是在“文件” -> “设置” -> “构建、执行和开发” -> “构建工具” -> “Gradle”中将其设置为11或其他版本。这与我另一个答案在这里的解决方法相同。


0

看起来可能是由不同的原因引起的。

我通过将JDK更改为嵌入式Android JDK并将其添加到路径和JAVA_HOME环境变量中来解决了这个问题。


0

我在使用下载项目时遇到了相同的错误。问题出在Java和Gradle版本的兼容性上。该项目使用的是Gradle 4.10.1,而我的Gradle JDK是17,这导致了错误。我只需将Gradle JDK更改为版本11即可解决此错误。

解决方案: 转到文件 -> 项目结构 -> 项目。并注意您的Gradle版本。Gradle Version

现在转到此链接:Compatibility Matrix - Gradle User Manual,查找一个足够接近的Java版本。Compatibility Matrix

现在进入文件 -> 设置 -> 构建、执行、部署 -> 构建工具 -> Gradle。在Gradle JDK下点击下载JDK。Gradle JDK

选择版本并下载,然后应用。 选择下载

现在重新构建项目。


0

这个问题是由于旧版的gradle distributionUrl引起的。要解决它,进入gradle-wrapper.properties并替换distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

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