我知道有很多关于这个的话题,但没有一个是关于 Spring Tools Suite 的。而且我发现该文件不再存在于较新的 Java 版本中的信息,这似乎是真的,因为我找不到它。我现在完全迷路了。
15 回答
将-vm参数放在 SpringToolSuite4.ini文件中的-vmargs上方
-startup
plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.8.0_181\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
无论我将JRE更改为JDK多少次,更新了路径和系统变量,最终我的问题都通过在SpringToolSuite4.ini文件中添加-vm参数和JDK的绝对路径来解决。我在 Eclipse Photon 上也有同样的行为,它也解决了那里的问题。
-vm
C:\Program Files\Java\jdk1.8.0_181\bin\javaw.exe
您可以在此 Eclipse wiki上阅读更多信息。
我可以通过修复 PATH 来解决它。我在我的 Windows.JAVA_HOME 上安装了一个 jre 和一个 jdk 已正确设置为 jdk,但 jre 在路径中是第一个。我通过在 jre 之前移动 jdk 来修复我的路径,然后问题就消失了。
如何检查:
打开 Windows cmd 窗口。然后执行where java
. 你会看到这样的东西:
C:\Users\d058029>where java
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
C:\Program Files\Standalone\jdk1.8.0_172\bin\java.exe
你看这里。jre是第一位的。使用 Windows 控制面板 -> 编辑系统环境变量并确保 jdk 位于 jre 之前。
我通过将 JDK 添加到系统环境变量中的路径并将其移动到列表的顶部/第一位来解决此问题。之前在 PATH 中的唯一 Java 路径是 C:\Program Files (x86)\Common Files\Oracle\Java\javapath。我需要将 C:\Program Files\Java\jdk1.8.0_211\bin 添加到路径并将其移动到顶部。
对于 Windows:
- 在 Windows 资源管理器中,转到控制面板\系统和安全\系统
- 点击“高级系统设置”
- 转到高级选项卡,然后单击环境变量
- 在系统变量下,编辑路径。
- 将你的 JDK 的 bin 目录,例如 C:\Program Files\Java\jdk1.8.0_211\bin 添加到路径中并移到顶部。
- 点击确定,确定。
- 重新启动 Spring 工具套件。
我遇到了同样的问题,唯一为我解决的问题是安装 JDK 的最新更新。
我有一个可能安装了 Java 更新的 Windows 更新。显然,Eclipse 正在使用最近安装的 Java(它从 Windows/System32 获取 - 请参见此处)。自动安装 JRE 后手动安装 JDK 更新解决了该问题。
您必须在系统中安装 jdk 并将以下行放在 SpringToolSuit.ini 文件中 -vmargs 上方
-vm
C:\Program Files\Java\jdk1.8.0_221\bin\javaw.exe
通过将已安装的 JRE 和编译器首选项设置为 Java 11 来尝试将 Java 11 用于我的 Spring Boot 项目后开始看到此错误。
在 eclipse.ini 或 SpringToolSuite4.ini 中添加 -vm 参数对我没有帮助。必须在 Windows Path 环境变量上切换 JDK 以克服此错误(路径指向 Java 8 早先)。还在 .ini 文件上制作了 -Dosgi.requiredJavaVersion=11。
我将以下 vm 参数添加到我的 eclipse.ini 文件中并解决了我的问题。
-vm C:\Program Files\Java\jdk1.8.0_40\bin
请提供in文件的java path
及clean
以上。vmargs
SpringToolSuite4.ini
-clean
-vm
C:\Program Files\Java\jdk1.8.0_271\bin\javaw.exe
SpringToolSuite4.ini
-startup
plugins/org.eclipse.equinox.launcher_1.5.700.v20200207-2156.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1200.v20200508-1552
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-clean
-vm
C:\Program Files\Java\jdk1.8.0_271\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.dataAreaRequiresExplicitInit=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
我这样修复它:
user@mynode:~$ echo $JAVA_HOME/lib
/usr/lib/jvm/java-8-oracle/lib
user@mynode:~$ sudo ln -s $JAVA_HOME/lib /usr/lib/jvm/java-ibm-x86_64-80/lib
您需要使用 JDK 而不是 JRE。
JDK有tools.jar,
如果您想使用 JRE,您可以下载 JDK 并将所需的 Jars 添加到类路径中。
升级jdk到相同版本的JRE