微信优化

weixinyouhua

STS怎么配置JDK?sts配置jdk环境变量详细教程

2026-09-12 09:00:45

STS配置JDK的核心就一句话:先区分“启动JDK”和“项目编译JDK”,前者改sts.ini里的-vm参数,后者在Preferences里添加Installed JREs。 很多新手卡在sts怎么配置jdk上,多半是因为只看教程改了项目JDK,却忘了STS本身还需要一个更高版本的JDK来启动。

Windows下sts配置jdk1.8详细步骤

先说最常见需求:用JDK 1.8跑Spring项目,但装了新版STS,这时你需要做两件事。

先让STS本体能启动

STS 4.x不支持用JDK 1.8启动,如果你只有JDK 1.8,启动会直接失败,先把JDK 17或21装到电脑上,然后修改STS目录下的SpringToolSuite4.ini。

  • 找到STS安装目录,进入根文件夹。
  • 右键SpringToolSuite4.ini,选择用记事本打开。
  • 在文件最顶部另起两行输入:
    -vm
    C:/Program Files/Java/jdk-17.0.10/bin/javaw.exe
  • 路径按实际JDK安装位置改,如果路径含空格,直接写完整路径即可。
  • -vm参数放在--launcher.appendVmargs之前最稳妥,放在后面可能被启动器忽略。
  • 保存文件,重启STS。

有人会问:为什么不用配windows环境变量?因为环境变量是给命令行和构建工具用的,STS改ini最直接,但装JDK后,你仍然可以用java -version和javac -version确认安装是否完整。

再让项目用上JDK 1.8

STS本身用17启动后,项目可以继续使用JDK 1.8。

  • 打开STS,点击Window -> Preferences。
  • 展开Java -> Installed JREs。
  • 点击Add,选择Standard VM,点Next。
  • 在JRE home里选择JDK 1.8的安装目录,例如C:\Program Files\Java\jdk1.8.0_402。
  • 点Finish,勾选刚添加的JDK 1.8作为默认。
  • 右键项目,进入Properties -> Java Build Path -> Libraries

    STS怎么配置JDK?sts配置jdk环境变量详细教程

    。

  • 选中JRE System Library,点Edit,切换成JDK 1.8。
  • 再到Properties -> Java Compiler,把Compiler compliance level改成8。

这样启动用17,编译运行用8,两不耽误,多数情况下,Spring Boot 2.x项目用这套组合不会出问题。

Mac下sts配置jdk要避开的坑

Mac的场景经常出现在公司统一了JDK版本,但开发机是MacBook,很多人直接改系统的.bash_profile或.zshrc里的JAVA_HOME,发现STS还是报错。

找到Mac里的配置文件

Mac版STS的配置文件藏得比较深,在应用程序包里。

  • 打开访达,进入应用程序。
  • 找到SpringToolSuite4.app,右键选择。
  • 依次进入Contents -> Eclipse。
  • 找到SpringToolSuite4.ini,用文本编辑器打开。

在文件顶部添加:

-vm
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java

这里的路径必须指向JDK包内的bin/java,不要指到/usr/bin/java,Mac系统默认的/usr/bin/java是个软链接,版本会随系统更新变化,容易导致STS启动后配置错乱。

用java_home查真实路径

如果不知道JDK装在哪儿,打开终端执行:

/usr/libexec/java_home -V

会列出所有已安装JDK的真实路径,复制需要的那个,填到ini里,如果遇到ini无法保存的情况,很可能是权限问题,把文件复制到桌面修改后再拷回原路径覆盖即可。

sts配置jdk17和jdk1.8怎么选

很多人在这两个版本之间纠结,其实选择不复杂。

STS怎么配置JDK?sts配置jdk环境变量详细教程

对比项 JDK 1.8 JDK 17
适合STS版本 STS 3.x及以下 STS 4.x及以上
能启动STS 4.x 不能 能
Spring Boot 2.x项目 可用 可用
Spring Boot 3.x项目 不可用 必须用
长期支持 已停止免费更新 长期支持
企业老项目兼容 好 需要模块化调整

行业共识认为,如果你还在维护老旧的Spring Boot 1.x/2.x项目,JDK 1.8是绕不开的;但STS 4.x本身必须用JDK 17或21启动,所以最稳妥的组合是:启动用JDK 17,项目编译用JDK 1.8。

业内专家指出,JDK 17的垃圾回收和启动性能比JDK 1.8改善明显,即便项目目标字节码是1.8,编译工具链用17也不会影响最终部署。

STS配置JDK和Eclipse配置JDK有什么不同

很多教程把STS和Eclipse混着讲,但实际配置时容易踩坑。

配置文件位置不同

  • Eclipse的启动配置文件叫eclipse.ini。
  • STS的启动配置文件叫SpringToolSuite4.ini。
  • Mac版STS的ini文件在Contents/Eclipse目录下,而Eclipse的ini在Contents/Eclipse/eclipse.ini,路径层级不一样。

版本匹配规则不同

  • 旧版Eclipse 4.8可以用JDK 1.8启动。
  • STS 4.x基于较新的Eclipse,必须用JDK 17或21启动。
  • Eclipse的Installed JREs配置界面与STS基本一样,但不要照着Eclipse教程去改STS的启动文件。

这就是为什么有人用eclipse配置jdk的方法去弄sts,结果一直改不对,工具名字相似,文件名字和版本要求完全不同。

验证STS的JDK配置是否生效

改了配置,总得确认一下,有两个直观的判断方法。

查看启动JVM

点击菜单Help -> About Spring Tool Suite 4,再点Installation Details

STS怎么配置JDK?sts配置jdk环境变量详细教程

,切到Configuration标签页。

在打开的页面里搜索java.home,对应的值就是你当前STS启动使用的JDK路径,如果显示的还是旧路径,说明ini没改对。

查看项目运行JDK

在项目里写个简单的main方法:

System.out.println(System.getProperty("java.home"));

运行后控制台输出的路径,就是项目实际使用的JRE,这个路径应当和你设置的Installed JREs中的JDK路径一致。

Windows和Mac都可以在命令行里临时指定启动JDK,不修改ini直接启动:

SpringToolSuite4 -vm /path/to/java

这种方式适合快速测试某个JDK版本能否正常拉起STS,但每次都要手动输入,不方便长期使用。

STS配置JDK并不复杂,只要把“启动JDK”和“项目JDK”分开处理,基本不会出错,先保证STS能启动,再决定项目用哪个版本编译。

Q&A

sts怎么配置jdk才不算配错?

判断标准有两个,第一,STS能正常打开,不弹JRE缺失报错,第二,项目运行时输出的java.home路径和你预期的JDK路径一致,两点同时满足,配置才算成功。

为什么sts配置jdk1.8后还是启动失败?

因为新版STS 4.x本身不支持JDK 1.8启动,JDK 1.8只能作为项目的编译和运行JDK,不能作为启动STS的JVM,需要先安装JDK 17或21,并修改SpringToolSuite4.ini里的-vm参数。

mac sts配置jdk时显示包内容找不到ini文件怎么办?

先确认自己打开的是SpringToolSuite4.app而不是安装镜像,右键应用图标后,如果没看到“显示包内容”,说明你选中的是替身文件,进入应用程序目录找到原始应用再操作,ini文件固定在Contents/Eclipse/SpringToolSuite4.ini路径下。

相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待