【问题标题】:JRE issue with getting Spring Tool Suite installed安装 Spring Tool Suite 时出现 JRE 问题
【发布时间】:2022-02-08 09:11:34
【问题描述】:

我从这里下载了 Spring Toolset 3.6:

https://spring.io/tools/sts/all

解压,启动 sts.exe 得到这个错误:

---------------------------
STS
---------------------------
A Java Runtime Environment (JRE) or Java Development Kit (JDK)
must be available in order to run STS. No Java virtual machine
was found after searching the following locations:
D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\jre\bin\javaw.exe
javaw.exe in your current PATH
---------------------------
OK   
---------------------------

我有以下版本的(32 位)java

C:\Users\Chad>java.exe -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)

我尝试将以下 2 行添加到 STS.ini 的顶部:

-vm
C:\Windows\SysWOW64\javaw.exe

得到了这个错误:

---------------------------
STS
---------------------------
Java was started but returned exit code=13
C:\Windows\SysWOW64\javaw.exe
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.browser.IEVersion=10001
-jar D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\\plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
-os win32
-ws win32
-arch x86_64
-showsplash
-launcher D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\STS.exe
-name STS
--launcher.library D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326\eclipse_1603.dll
-startup D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\\plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.overrideVmargs
-exitdata 1240_5c
-product org.springsource.sts.ide
-vm C:\Windows\SysWOW64\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.browser.IEVersion=10001
-jar D:\Setup\spring36\sts-bundle\sts-3.6.3.RELEASE\\plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
---------------------------
OK   
---------------------------

尝试添加一个 Env 变量:

JAVA_HOME = C:\Windows\SysWOW64\

...同样的错误

当我打开 Java 控制面板时,我看到活动版本 1.7 指向了这个路径:

C:\Program Files (x86)\Java\jre7\bin\javaw.exe

我还尝试将以下内容添加到我的 PATH 变量中

C:\Program Files (x86)\Java\jre7\bin

...没有变化,

当我注意到上述错误消息之一中的以下行时:

Dosgi.requiredJavaVersion=1.6

我尝试将 java 的活动版本(在控制面板中检查的那个)切换到 1.65 版本,并更改​​了上述所有路径以指向它。

C:\Program Files (x86)\Java\jre6\bin\javaw.exe

我确定我没有尝试所有的排列,但我显然是在吸管。

我还尝试下载 32 位 JDK,因为我看到了一些可能需要它的东西。

这是某种 32/64 位的混合吗? STS zip 文件被命名为 32 位版本,尽管在我的笔记本电脑上工作时,我在某处发现了一个版本,其 zip 名称中同时包含 32 和 64。我只在 zip 文件中看到了该应用程序的一个版本。一个应用怎么能同时是 32 位和 64 位的?

spring-tool-suite-3.6.3.RELEASE-e4.4.1-win32.zip

这是我第一次尝试使用 Java 尝试任何东西,刚开始我就很沮丧......

【问题讨论】:

    标签: java spring-tool-suite


    【解决方案1】:

    我在使用 STS4 时遇到了这个问题。 解决了在 SpringToolSuite4.ini 中添加 -vm 参数:

    -startup
    plugins/org.eclipse.equinox.launcher_1.5.100.v20180827-1352.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.800.v20180827-1352
    -product
    org.springframework.boot.ide.branding.sts4
    --launcher.defaultAction
    openFile
    -vm
    C:\Program Files\Java\jdk1.8.0_162\bin\javaw.exe
    -vmargs
    -Dosgi.requiredJavaVersion=1.8
    --add-modules=ALL-SYSTEM
    -Xms40m
    -Xmx1200m
    

    重要提示:当我在文件末尾添加配置参数时,这不起作用,它必须位于 openFile-vmargs 行。

    有关 STS/Eclipse INI 配置的更详细信息,请查看 Missing tools.jar when launching STS applicationeclipse.ini

    【讨论】:

    • 太棒了! SpringToolSuite4.ini 文件中的位置决定了一切。我同样必须将它放在“-vmargs”参数之上。我的问题也解决了。作为 Windows 高级用户,我将我的 Java JDK 安装在预期的“程序文件”目录之外,它清楚地找到了另一个系统之前安装的 Java 1.8 JRE(不是 Java 1.8 JDK 或 Java 11 JDK)。跨度>
    • @FranciscoAcevedo 谢谢:)。我面临着同样的问题。拯救了我的一天。
    【解决方案2】:

    您的 STS/Eclipse 是 x64 位,我认为是由于您的 STS 启动错误中的这一行“-arch x86_64”。 您需要在 STS.ini 中指定 -vm 参数。例如: -vm C:\Java\JDK\1.6\bin\javaw.exe

    您指定的文件夹 C:\Windows\SysWOW64\javaw.exe... 是否指向正确的 x64 VM? JDK/JRE 文件夹必须有 bin、lib 等子文件夹。您指向的 javaw.exe 必须位于“bin”文件夹中。我在您的 VM 路径中看不到“bin”。保持JDK/JRE文件夹的文件结构不变。

    【讨论】:

    • 我在两台不同的计算机上遇到了同样的问题,这两台计算机都只安装了 32 位 JRE。在工作中,我安装了 x86_64 版本,但在家里我安装了 32 位版本。结果在两个地方都是一样的。但是,当您确认我安装了 64 位版本(在工作中)时,我决定在这里尝试 32 位版本,期望与我的家用 PC 上的结果相同。这次它奏效了。无需修改 INI 文件。现在,谜团在于为什么我的家用电脑没有相同的结果。不过,您的回答使我找到了 1 台机器的解决方案。谢谢!
    • 很难确定您从哪里获得“自动检测到的”JRE/JDK,这可能会导致“神秘”行为。因此,最好将 -vm 参数添加到 ini 文件并确保它指向您要运行 STS 的正确 JVM。 “正确”的 JVM 必须在相同的 32/64 位方面兼容,而且它必须是 JDK,而不是 JRE(Windows 盒子上隐式检测到的 VM 通常是 JRE)。
    【解决方案3】:

    Linux

    此解决方案适用于:

    Ubuntu 18.04.1 LTS
    
    Spring Tool Suite 4 
    Version: 4.1.1.RELEASE
    Build Id: 201901241133
    OS: Linux, v.4.15.0-45-generic, x86_64 / gtk 3.22.30
    Java version: 11.0.2
    

    在您的 Spring Tool Suite 根文件夹 中添加文件 SprintToolSuite4.ini,在 openFile 之后的 2 行之后:

    -vm
    /usr/lib/jvm/<your-java-folder>/<your-java-subfolder>/bin
    

    您的 SprintToolSuite4.ini 文件现在应该如下所示:


    其他操作系统

    将 JRE 的正确路径(/bin 文件夹)添加到 ini 文件中。

    【讨论】:

      【解决方案4】:

      您的路径中需要有C:\Program Files\Java\jdk-14.0.2\bin

      也检查一下,

      -vm
      C:\Program Files\Java\jdk-14.0.2\bin\javaw.exe
      

      SpringToolSuite4.ini中。

      确认上面再打开 SpringToolSuite4.exe

      【讨论】:

        【解决方案5】:

        我的问题略有不同,因为 STS 最初可以正常工作一段时间,然后在下一次启动时无法正常工作。

        按照错误消息中的建议(搜索以下位置后未找到 Java 虚拟机:...\sts-bundle\sts-3.6.3.RELEASE\jre\bin\javaw.exe 在您的当前 PATH'),我能够确定整个 \jre 丢失了。

        使用默认设置重新安装 JRE 1.7,并将文件从 C:\Program Files\Java 复制到我的 STS 安装解决了该问题。

        【讨论】:

          【解决方案6】:

          我多次遇到这个问题。请进行以下检查以纠正上述问题。

          1. 检查 Java 的环境变量。有时即使环境变量设置正确,它也无法识别您何时尝试在命令提示符中使用 java -version
          2. 如果是 eclipse/STS 则打开 eclipse.ini 或 sts.ini 配置文件并按以下方式设置运行时环境。

          在打开的文件下面添加以下两行并保存并重新启动你的eclipse/STS。

          -vm
          C:\Program Files\Oracle\OpenJDK 11.0.1\bin
          

          【讨论】:

            【解决方案7】:

            我通过以下步骤解决了这个问题:

            1. 在 sts-4.6.1.RELEASE 中创建一个 jre 文件夹

            2. 在 jre 文件夹中创建 bin 文件夹

            3. 复制javaw.exe并粘贴到bin文件夹中

            【讨论】:

              【解决方案8】:

              将 sts 发布文件夹复制到程序文件中。它对我有用,而不是在 .ini 配置文件中进行更改。试试吧。

              【讨论】:

              • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
              【解决方案9】:

              转到已安装的 JRE 文件夹 (\Program Files\Java\jre [任何已安装的版本]\bin),然后查找 javaw.exe。将该应用程序复制到您的 spring 文件夹。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2014-09-23
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-09-01
                相关资源
                最近更新 更多