如何指示Gradle从不同位置使用Java?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何指示Gradle从不同位置使用Java?相关的知识,希望对你有一定的参考价值。

我正在android Studio中构建测试应用,然后在事件日志中显示:

Android Studio正在使用以下JDK位置:C: ProgramFiles Android Android Studio jre与Gradle不同默认情况下使用:C: Program Files(x86) Java jdk1.8.0_181使用如果Gradle,不同的位置可能会产生多个Gradle守护进程使用Android Studio时,可从命令行运行任务。

然后给了这些选项:

  1. 更多信息...
  2. 将Android Studio设置为与Gradle和同步使用相同的JDK
  3. 不再显示此警告

我点击了:

将Android Studio设置为与Gradle和同步使用相同的JDK

然后我的应用不再想要构建。

这是错误:

等级同步失败:无法启动守护进程。这个问题可能是由守护程序的错误配置引起的。

例如,使用无法识别的jvm选项。请参阅守护程序上的“用户手册”一章,位于https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

处理命令行:C: Program Files(x86) Java jdk1.8.0_181 bin java.exe-Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = en -Duser.variant -cp C: Users {MyUserName} 。gradle wrapper dists gradle-5.4.1-全部 3221gyojl5jsh0helicew7rwx gradle-5.4.1 lib gradle-launcher-5.4.1.jarorg.gradle.launcher.daemon.bootstrap.GradleDaemon 5.4.1

请阅读以下过程输出以了解更多信息:

[初始化期间发生错误VM无法为1572864KB对象堆保留足够的空间有关更多详细信息,请查阅IDE日志(“帮助” |“显示日志”)(16 s 166 ms)

我检查了事件日志:

我以前认为是这样做的:

指示gradle使用C:/ Program Files / Android / Android中的JavaStudio / jre

现在它说这:

指示gradle使用C:/ Program Files中的Java(x86)/Java/jdk1.8.0_181

如何将其设置回原来的状态,以便我的应用可以再次构建?

任何帮助/建议将不胜感激

答案
在Android Studio上,我做了:

文件>项目结构...> SDK位置(在左窗格中)

然后在底部有一个下拉菜单:

JDK位置:

然后我选择/浏览到此目录:

C: Program Files Java jdk1.8.0_181

Gradle Sync在那之后再次为我工作,但我仍然收到此警告:

Android Studio使用此JDK位置:

C: Program Files Java jdk1.8.0_181

与Gradle默认使用的位置不同:[C: Program Files( x86) Java jdk1.8.0_181。如果使用Android Studio时从命令行运行Gradle任务,则使用不同的位置可能会产生多个Gradle守护程序。
    更多信息...
  1. 将Android Studio设置为与Gradle使用相同的JDK并同步项目
  2. 不再显示此警告

以上是关于如何指示Gradle从不同位置使用Java?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 spring boot 插件 2.0.x 从一个具有不同依赖项的 gradle 项目生成 2 个 jars

如何使用spring boot plugin 2.0.x从一个具有不同依赖项的gradle项目生成2个jar

如何在java中为不同的数据库创建多个数据库连接

如何模拟从不同位置浏览?

如何在可展开的列表视图中设置不同的组指示器图像?

如何调试 Gradle 为啥使用我在依赖子项目中指定的不同版本的库?