由于“Gradle Doctor Prescriptions | JAVA_HOME 未设置”和“无法通知项目评估监听器”而无法同步或构建项目

问题描述 投票:0回答:2

由于两个错误,我无法同步或构建 Android 项目:

  1. 首先,我得到:
> =============================== Gradle Doctor Prescriptions ============================================
  | JAVA_HOME is not set.                                                                                |
  | Please set JAVA_HOME so that switching between Android Studio and the terminal does not trigger a fu |
  | ll rebuild.                                                                                          |
  | To set JAVA_HOME: (using bash)                                                                       |
  | echo "export JAVA_HOME=$(/usr/libexec/java_home)" >> ~/.bash_profile                                 |
  | or `~/.zshrc` if using zsh.                                                                          |
  ========================================================================================================
  1. 然后在清洁项目
  2. 之后
/Library/Internet
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project
Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
Caused by: java.nio.file.NoSuchFileException: /Library/Internet
    at com.osacky.doctor.JavaHomeCheck.isGradleUsingJavaHome(JavaHomeCheck.kt:68)
    at com.osacky.doctor.JavaHomeCheck.onStart(JavaHomeCheck.kt:41)
    at com.osacky.doctor.DoctorPlugin$apply$1.execute(DoctorPlugin.kt:61)
    at com.osacky.doctor.DoctorPlugin$apply$1.execute(DoctorPlugin.kt:29)

我非常确定 JAVA_HOME 设置正确并且 Gradle 版本与插件版本兼容,如此处所述。 我清理了项目,使“无效并重新启动”,甚至删除并添加了项目。

如有任何帮助,我们将不胜感激。

gradle
2个回答
5
投票

我终于找到了解决方案:要消除错误,我需要禁用

build.gradle.kts
(项目级别)

中的插件之一

我通过从

id("com.osacky.doctor") version "0.7.0"
 中删除 
plugins

解决了这个问题

0
投票

我终于找到了解决方案:要消除错误,我需要禁用 build.gradle.kts 中的插件之一(项目级别)

我通过从插件中删除 id("com.osacky.doctor") 版本“0.7.0”解决了这个问题

并且

删除build.gradle.kts文件中与doctor作用域相关的内容。

例如:

configure<com.osacky.doctor.DoctorExtension> {
disallowMultipleDaemons.set(false)
negativeAvoidanceThreshold.set(500)
warnWhenJetifierEnabled.set(true)

javaHome {
    ensureJavaHomeIsSet.set(true)
    ensureJavaHomeMatches.set(true)
    failOnError.set(true)
}
© www.soinside.com 2019 - 2024. All rights reserved.