无法从“9.0.1”确定 java 版本
Could not determine java version from '9.0.1'
正在尝试将项目上传到 bintray
,但出现错误:
Could not determine java version from '9.0.1'.
我读到它是一个等级错误并且在高版本中修复了,我试过了
将 gradle
版本更改为 4.2.1
,但出现另一个错误:
Gradle sync failed: No such property: FOR_RUNTIME for class:
org.gradle.api.attributes.Usage Consult IDE log for more details
(Help | Show Log) (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
}
此问题出现在低于 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.
我在 macOS 上遇到了这个问题,我通过以下方式解决了它:
去掉太新的javajdk
brew cask uninstall java
并安装旧版本
brew tap caskroom/versions
brew cask install java8
所有这些都是通过 Homebrew
处理的
您还应该删除 Java JDK。只是 运行 以下内容:
- cd /Library/Java/JavaVirtualMachines
- sudo rm -rf jdk1
现在检查在您的终端中输入 'java'。
有关更多参考资料,您可以在此处查看:https://www.howtogeek.com/230145/how-to-uninstall-java-on-mac-os-x/
刚刚尝试使用 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
只需要使用本地gradle分发
例如:在 IntelliJ 中转到 File->settings->Build,Execution,Deployment->Build Tools->Gradle 然后更新 "Use local gradle distribution",如图所示。
settings window
在我的例子中,错误是
Could not determine java version from '10'.
我转到 Unity 中的首选项(windows 中的编辑 > 首选项或 MAC 中的 Unity > 首选项)、外部工具、JDK 目录并更改了几个级别.我正在使用 JDK 10,但更改为 JDK 8 的文件夹,这解决了问题。
确保您在 JDK 下的文件可以访问。我遇到了同样的问题,因为我的进程由于代理问题无法访问我的 JDK 文件。然后我改变了我的 JDK 路径。成功了。
正在尝试将项目上传到 bintray
,但出现错误:
Could not determine java version from '9.0.1'.
我读到它是一个等级错误并且在高版本中修复了,我试过了
将 gradle
版本更改为 4.2.1
,但出现另一个错误:
Gradle sync failed: No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage Consult IDE log for more details (Help | Show Log) (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
}
此问题出现在低于 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.
我在 macOS 上遇到了这个问题,我通过以下方式解决了它:
去掉太新的javajdk
brew cask uninstall java
并安装旧版本
brew tap caskroom/versions
brew cask install java8
所有这些都是通过 Homebrew
处理的您还应该删除 Java JDK。只是 运行 以下内容:
- cd /Library/Java/JavaVirtualMachines
- sudo rm -rf jdk1
现在检查在您的终端中输入 'java'。
有关更多参考资料,您可以在此处查看:https://www.howtogeek.com/230145/how-to-uninstall-java-on-mac-os-x/
刚刚尝试使用 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
只需要使用本地gradle分发 例如:在 IntelliJ 中转到 File->settings->Build,Execution,Deployment->Build Tools->Gradle 然后更新 "Use local gradle distribution",如图所示。
settings window
在我的例子中,错误是
Could not determine java version from '10'.
我转到 Unity 中的首选项(windows 中的编辑 > 首选项或 MAC 中的 Unity > 首选项)、外部工具、JDK 目录并更改了几个级别.我正在使用 JDK 10,但更改为 JDK 8 的文件夹,这解决了问题。
确保您在 JDK 下的文件可以访问。我遇到了同样的问题,因为我的进程由于代理问题无法访问我的 JDK 文件。然后我改变了我的 JDK 路径。成功了。