Java 安装Spring工具套件的JRE问题

Java 安装Spring工具套件的JRE问题,java,spring-tool-suite,Java,Spring Tool Suite,我从这里下载了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 Jav

我从这里下载了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   
---------------------------
---------------------------
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   
---------------------------
我有以下版本的(32位)java

我尝试在STS.ini的顶部添加以下两行:

-vm
C:\Windows\SysWOW64\javaw.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   
---------------------------
---------------------------
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   
---------------------------
已尝试添加环境变量:

JAVA_HOME = C:\Windows\SysWOW64\
…同样的错误

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

C:\Program Files (x86)\Java\jre7\bin\javaw.exe
我还尝试将以下内容添加到我的PATH变量中

C:\ProgramFiles(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做任何事情,刚开始时我很沮丧…

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


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

我的问题稍有不同,STS最初正常工作了一段时间,但在下一次启动时无法工作

根据错误消息中的建议(即“搜索以下位置后未找到Java虚拟机:…\sts bundle\sts-3.6.3.RELEASE\jre\bin\javaw.exe,位于当前路径中”),我能够确定整个\jre丢失


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

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

我的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
重要的是:当我在文件末尾添加了配置参数时,它不起作用,它必须位于<强>代码> OpenFrase> />代码> 和<强> >代码> -vMARGs<强> >行>

有关STS/EclipseINI配置的详细信息,请查看和

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工具套件根文件夹中添加到文件SprintToolSuite4.ini中,在
openFile
之后添加以下两行:

-vm
/usr/lib/jvm/<your-java-folder>/<your-java-subfolder>/bin
-vm
/usr/lib/jvm///bin
您的SprintToolSuite4.ini文件现在应该是这样的:


其他开放源码软件
将JRE的正确路径(即
/bin
文件夹)添加到ini文件中。

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

  • 检查Java的环境变量。有时,即使环境变量设置正确,它也无法识别您何时尝试在命令提示符下使用java-version
  • 如果是eclipse/STS,则打开eclipse.ini或STS.ini配置文件,并按以下方式设置运行时环境
  • 在“打开文件”下面,只需添加以下两行并保存它,然后重新启动eclipse/STS

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

    我通过以下步骤解决此问题:

  • 在sts-4.6.1.0版本中创建一个jre文件夹

  • 在jre文件夹中创建bin文件夹

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


  • 路径中需要有
    C:\ProgramFiles\Java\jdk-14.0.2\bin

    还要检查一下,

    -vm
    C:\Program Files\Java\jdk-14.0.2\bin\javaw.exe
    
    在SpringToolSuite4.ini中


    请确保以上内容,然后打开SpringToolSuite4.exe

    我在两台不同的计算机上遇到了相同的问题,这两台计算机都只安装了32位JRE。在工作中,我安装了x86_64版本,但在家里我安装了32位版本。结果在两个地方都是一样的。然而,当你确认我安装了64位版本(在工作中)时,我决定在这里尝试32位版本,希望与在我的家用电脑上获得相同的结果。这次成功了。不需要修改INI文件。现在,谜团是为什么我的家用电脑没有;我不会有同样的结果。尽管如此,您的回答还是让我找到了1台机器的解决方案。非常感谢。确定“自动检测”JRE/JDK的来源可能有点困难,这可能导致“神秘”行为。因此,最好在ini文件中添加-vm参数,并确保它指向要运行STS的正确JVM。“正确”的JVM必须兼容32/64位,而且必须是JDK,而不是JRE(在windows机器上隐式检测到的VM通常是JRE)。太棒了!SpringToolSuite4.ini文件中的位置造成了所有差异。我同样必须将其置于'-vmargs'参数之上。我的问题也解决了。作为Windows power用户,我将Java JDK安装在预期的“Program Files”目录之外,它清楚地找到了Java 1.8 JRE(而不是Java 1.8 JDK或Java 11 JDK),其中