无法确定来自' 9.0.1'

时间:2017-10-23 16:04:32

标签: java android gradle bintray

尝试将上传项目发送到bintray,然后收到错误:

Could not determine java version from '9.0.1'.

我读过它的等级错误,它在上层版本中修复,我试过了 将gradle版本更改为4.2.1,但会收到其他错误:

  

Gradle sync失败:没有这样的属性:FOR_RUNTIME for class:   org.gradle.api.attributes.Usage有关更多详细信息,请参阅IDE日志   (帮助|显示日志)(571ms)

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
}

7 个答案:

答案 0 :(得分:34)

此问题的格式低于4.3,因此请将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

enter image description here

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

此外,terminal可能存在一些问题,这些问题属于多个 JDK 之间的冲突。

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

答案 1 :(得分:26)

我在macOS上遇到了这个问题,我解决了它:

删除太新的java jdk

brew cask uninstall java

安装较旧的

brew tap caskroom/versions
brew cask install java8

所有这些都是通过Homebrew

处理的

答案 2 :(得分:8)

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

  1. cd / Library / Java / JavaVirtualMachines
  2. sudo rm -rf jdk1
  3. 现在检查终端中输入'java'。

    有关更多参考资料,请参阅此处:https://www.howtogeek.com/230145/how-to-uninstall-java-on-mac-os-x/

答案 3 :(得分:1)

在我的情况下,错误是

  

无法确定' 10'。

中的java版本

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

答案 4 :(得分:0)

刚尝试使用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

答案 5 :(得分:0)

只需要使用本地gradle分发 例如:在IntelliJ中转到文件 - >设置 - >构建,执行,部署 - >构建工具 - > Gradle然后更新"使用本地gradle分发"如图所示。

settings window

答案 6 :(得分:0)

确保可以访问JDK下的文件。我遇到了同样的问题,因为由于代理问题,我的进程无法访问我的JDK文件。然后我更改了我的JDK路径。有效。