【问题标题】:Could not determine java version from '9.0.1'无法从“9.0.1”确定 java 版本
【发布时间】:2018-04-04 06:17:05
【问题描述】:

尝试将项目上传到bintray 并得到错误:

Could not determine java version from '9.0.1'.

我读到这是等级错误,它已在更高版本中修复,我试过了 将gradle 版本更改为4.2.1,但又报错:

Gradle 同步失败:没有这样的属性:类的 FOR_RUNTIME: org.gradle.api.attributes.Usage 查看 IDE 日志以获取更多详细信息 (帮助 | 显示日志)(571 毫秒)

Gradle 属性:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip

构建 gradle 项目

buildscript {
    ext.kotlin_version = '1.1.51'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta7'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.novoda:bintray-release:0.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

【问题讨论】:

  • 显示build.gradle(项目)
  • @IntelliJAmiya 完成
  • 使用gradle-3.3-all.zip
  • 降级版本tools.build:gradle:2.3.3
  • @IntelliJAmiya 我可以在不降级的情况下解决这个问题吗?

标签: java android gradle bintray


【解决方案1】:

这个问题是在低于4.3的gradle版本中,所以更新你的gradle.properties到4.3或更高版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-all.zip

为什么会出现这个错误?: 因为您的系统上的 JDK 与您的 android-studio JDK 版本不同。

因此,您的 JDK 应该彼此兼容,通过这种方式您可以管理:

File -> Other settings -> Default project structure

您可以使用嵌入式JDK,也可以使用自己的。


另外你可能对terminal有一些问题,这属于你的多个JDK之间的冲突。

与我合作的解决方案是卸载 java 9 JDK

【讨论】:

  • 我在使用 Java JDK 9 和 Gradle 4.1 时遇到此错误。切换到 Gradle 4.3 版解决了错误。
  • 我解决了在 gradle/wrapper/gradle-wrapper.properties 中进行更改的问题。我正在使用 IntellijIDEA/Android Studio。参考:developer.android.com/studio/releases/gradle-plugin.html
  • 我的 Gradle 4.4.1 更改了 distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip 并且仍然有错误。
  • 我用了distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip,问题就解决了。
【解决方案2】:

我在 macOS 上遇到了这个问题,我通过以下方式解决了它:

删除太新的java jdk

brew cask uninstall java

并安装旧的

brew tap caskroom/versions
brew cask install java8

所有这些都通过Homebrew处理

【讨论】:

  • 我得到了这个Error: Cask 'java8' is unavailable: No Cask with this name exists.
  • @PaulaKristin 也许你需要先运行这个brew tap caskroom/versions
  • 我找到了解决方案,方法是让我在 mac 上的 JAVA_HOME 与我的 android studio java 所在的位置相同,它解决了这个问题
  • 这个特定错误已按照 Paula 的建议解决(指向 Android Studio JRE)。但是男孩升级或尝试从命令行构建是很痛苦的! :(
  • @StephenMcCormick 老实说,这是一个 hacky 解决方案。您的意思是 这个特定错误 只能用 hacky AS JRE 方法解决 吗?措辞使答案是否有效有点不清楚。
【解决方案3】:

您还应该删除 Java JDK。只需运行以下命令:

  1. cd /Library/Java/JavaVirtualMachines
  2. sudo rm -rf jdk1

现在检查在终端中输入“java”。

更多参考资料可以看这里:https://www.howtogeek.com/230145/how-to-uninstall-java-on-mac-os-x/

【讨论】:

  • 难道没有其他方法可以使用 Android Studio Contents 目录中的 Java 吗?
  • @RajanikantDeshmukh PATH=$PATH:/opt/android-studio/jre/bin 为我工作。将其添加到您的 .bashrc.profile。使其适应您放置 Android Studio 文件的任何位置。
【解决方案4】:

在我的情况下,错误是

无法从 '10' 确定 java 版本。

我去了 Unity 中的首选项(Windows 中的编辑 > 首选项或 MAC 中的 Unity > 首选项)、外部工具、JDK 目录并更改了几个级别。我使用的是JDK 10,但更改为JDK 8的文件夹,这解决了问题。

【讨论】:

    【解决方案5】:

    刚刚尝试使用 Gradle 4.3 构建,针对 JDK 9.0.1 - 这可能在 Android Studio 中起作用(因为捆绑的 JDK 是旧版本),但在使用 Jenkins 2.89.2 构建时不起作用(它似乎还不支持 JDK 9.0.1,字面上抱怨Could not determine java version from '9.0.1')。 bintray 也可以使用 Jenkins 构建,因为错误消息有些相同。

    gradle.properties 中降级到 JDK 8 为我解决了这个问题:

    org.gradle.java.home=/usr/java/jdk1.8.0_152
    

    结合gradle-wrapper.properties:

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
    

    【讨论】:

      【解决方案6】:

      只需要使用本地 gradle 分发 例如:在 IntelliJ 中,转到 File->settings->Build,Execution,Deployment->Build Tools->Gradle 然后更新“使用本地 gradle 分发”,如图所示。

      settings window

      【讨论】:

        【解决方案7】:

        确保您在 JDK 下的文件是可访问的。我遇到了同样的问题,因为我的进程由于代理问题而无法访问我的 JDK 文件。然后我改变了我的JDK路径。它奏效了。

        【讨论】:

          猜你喜欢
          • 2018-05-06
          • 2018-04-02
          • 2018-12-15
          • 2023-04-10
          • 2021-02-28
          • 2021-12-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多