![](/img/trans.png)
[英]Intellij IDEA terminal shows wrong jVM version with ./gradlew -version or mvn -version
[英]gradlew uses wrong Java version
我正在使用 Kotlin 开发一个 android 应用程序。 我正在通过命令行 ./gradlew klint 运行 kotlin linter。
但它给了我一个错误:
Gradle 4.4 需要 Java 7 或更高版本才能运行。 您当前使用的是 Java 6。
当我检查项目结构时,我使用的是嵌入式 JDK。
我还将 android studio 更新到最新版本。 我不知道如何将嵌入式 JDK 更新到最新版本。
java version
“1.6.0_65”Java(TM) SE 运行时环境(构建 1.6.0_65-b14-468)Java HotSpot(TM) 64 位服务器 VM(构建 20.65-b04-468,混合模式)
which java
- /usr/bin/java
echo $PATH
- /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/username/Library/Android/sdk/platform-tools
echo $JAVA_HOME
- 空
最新的 OpenJDK副本与 Android Studio 2.2 及更高版本捆绑在一起,这是我们建议您用于 Android 项目的 JDK 版本。
https://developer.android.com/studio/intro/studio-config.html#jdk
然而,这仅用于在 Android Studio 中构建您的应用程序,而不是从带有gradlew
的终端构建您的应用程序,否则,它将使用您操作系统的$PATH
变量中的任何内容。
为了使用嵌入式JDK,您至少需要设置JAVA_HOME
,例如,
export JAVA_HOME=/path/to/AndroidStudio/jdk # TODO: Find this
./gradlew
但是,我的建议是使用操作系统的机制来安装 Java。
为了轻松管理 Java 库(在 Linux 和 Mac 上),您可以尝试使用sdkman
gradle.properties 可以更新为指向 Mac OS 中 Android Studio 附带的嵌入式 JDK:
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
通过添加以下内容解决了该问题:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin
在 PATH 变量的开头。 我发现的是: 有三个 java 位置。
/usr/bin/java
)/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin
)/Applications/Android\\ Studio.app/Contents/jre/jdk/Contents/Home/bin/
) 在我的情况下, gradlew
总是使用 MAC 中的 java(点 1)。 因此,当我在路径变量的开头添加“从 oracle 下载的 java(点 2)”时,它开始使用来自 oracle 的那个,并且我的 gradlew 命令运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.