我从这里下载了 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)
我尝试将以下两行添加到 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 尝试任何事情,刚开始我很沮丧……
原文由 Chad 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为您的 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”文件夹中。我在您的虚拟机路径中没有看到“bin”。保持JDK/JRE文件夹的文件结构不变。