【问题标题】:Spring Tools Suite 4 can't create JVM after OpenJDK 11 install安装 OpenJDK 11 后 Spring Tools Suite 4 无法创建 JVM
【发布时间】:2020-03-16 18:11:28
【问题描述】:

我已经在我的 MAC 上运行 STS4 一段时间了,但我只安装了 Oracle 的 JRE,如下所示:

Java(TM) SE Runtime Environment (build 1.8.0_162-b12)

昨天我使用 Brew 安装了 OpenJDK 11 软件包。现在我(也)有 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)

执行此操作后,STS4 拒绝启动并显示错误。我那时 1.卸载后重新安装STS以获得最新版本。启动时同样的错误 2. 使用此处的建议,更新 SpringToolsSuite4.ini 并尝试添加 -vm 参数。这也不起作用。

所以...???我希望 STS 默认使用 8 个 JDK,并且根据我的需要,java 项目可以设置为 8 或 11,具体取决于具体情况。

另一个花絮。在“系统/首选项”窗口下,即使我安装了 8 和 11,我也只能看到 8 JDK,但我没有看到一种方法来告诉这个设置首选项窗口这样做???

【问题讨论】:

  • 将 -vm 设置添加到 ini 文件应该可以。你能把你修改的ini文件的内容粘贴到这里吗?
  • 我通常会下载 AdoptOpenJDK 构建并手动将它们添加到 VirtualMachines 目录中,所以我不确定通过 brew 安装它是否会有所不同。但是让我们先看一下ini文件。
  • --launcher.appendVmargs -vm /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin -startup ../Eclipse/plugins/org.eclipse.equinox.launcher_1 .5.600.v20191014-2022.jar --launcher.library ../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.1100.v20190907-0426 -product org.springframework.boot.ide.branding .sts4 --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m -XX:+UseG1GC -XX:+UseStringDeduplication --add-modules=ALL-SYSTEM -XstartOnFirstThread
  • 阿盖,我使用的是 JDK,只是从 11 开始。看起来 MAC 上的系统默认值仍然是 8,但我的默认值现在是 11。
  • 我也很好奇 8 JDK 来自 Oracle 但 11 和 AdaptOpenJDK 版本是否重要?只是好奇这是否重要。

标签: adoptopenjdk spring-tools-4


【解决方案1】:

我在带有 JDK 11 的 MacOS 上使用 SpringToolSuite4,尝试了不同的选项将 vm 更新到 /SpringToolSuite4.app/Contents/info.plist 和 /SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini 中的 JDK 路径,没有一个他们工作了。

最后是对我有用的步骤。

1) 卸载/删除现有的 JDK 文件夹。 现有的JDK可以通过以下命令找到。

$/usr/libexec/java_home -V


$rm -Rf /Library/Java/JavaVirtualMachines/java8 
$rm -Rf /Library/Java/JavaVirtualMachines/java11

2) 下载 JDK tar 文件而不是安装程序。

https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

3) 将 JDK 解压到通常的安装文件夹中。

sudo cp -R ~/Downloads/openjdk-8.0.252.9.1.jdk /Library/Java/JavaVirtualMachines/
sudo cp -R ~/Downloads//openjdk-11.0.7.10.1.jdk /Library/Java/JavaVirtualMachines/

4) 从本地卸载任何现有的 STS,这可以通过将 STS 移动到 垃圾箱(删除任何可能干扰清理的先前配置更改 安装)。

5) 重新启动系统以进行全新安装。

6) 为 Mac 下载最新的 STS 4 安装程序

7) STS 安装没有任何问题

8) 启动已安装的 STS 并选择工作区文件夹

9) 当您开始一个新项目时,两个 JDK 都会出现,选择项目所需的任何一个 JDK。

10) 可选步骤 使用 JAVA_HOME 和 PATH 更新 ~/.bashrc 或 ~/.bash_profile,如下所示。

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.0.7.10.1.jdk/Contents/Home
 export PATH=$PATH:$JAVA_HOME/bin

你可以执行 $ source ~/.bash_profile 根据需要更新路径来设置路径。

【讨论】:

    【解决方案2】:

    我能够通过完成以下步骤来解决问题:

    1. 使用文本编辑器打开 SpringToolSuite4.ini 文件。
    2. 在openFile之后添加下面几行

      -vm
      /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/bin/java
      

      您的 JDK 版本可能与 jdk1.8.0.241.jdk 不同。
      检查您的版本并相应地编辑该行。

    3. 保存文件并运行 STS4。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2020-09-01
      • 2021-10-27
      • 2011-08-06
      • 2020-03-06
      相关资源
      最近更新 更多