STS启动不了,报Java was started but returned exit code=13问题解决

本文介绍如何正确配置Spring Tool Suite (STS)以匹配系统的JDK版本,并详细展示了STS.ini文件中必要的设置步骤,包括指定JDK路径及内存分配等。

 

1,如果系统安装的JDK版本是32位的,那么这个STS也必须是32位,反之,64位也是一样的道理。所以在下载回来的STS也必须保持一致

2,修改STS.ini 配置中的JDK路径

在开头添加  -vm
C:/Program Files (x86)/Java/jdk1.8.0_151/bin/javaw.exe

-----------------------------------------------------------------------------

-vm
C:/Program Files (x86)/Java/jdk1.8.0_151/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.700.v20180518-1200
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
--add-modules=ALL-SYSTEM
-Xms40m
-Dosgi.module.lock.timeout=10
-Dorg.eclipse.swt.browser.IEVersion=10001
-Xmx1200m

<think>好的,我现在需要解决用户在启动Spring Tool Suite 4时遇到的Java退出代码13问题。首先,我得了解退出代码13通常意味着什么。根据经验,Java版本不兼容是一个常见原因。用户提到requiredJavaVersion=1.8,这说明STS 4需要Java 8。但可能用户的环境变量中设置了更高版本的Java,比如Java 9或以上,导致版本冲突。 接下来,我需要检查用户的Java安装情况。用户可能安装了多个Java版本,但环境变量中指向了错误的版本。需要确认JAVA_HOME是否设置为Java 8的路径,以及PATH变量是否优先指向Java 8的bin目录。此外,STS启动配置文件中指定的Java路径是否正确也很重要,比如sts.ini或SpringToolSuite4.ini中的-vm参数是否指向了正确的Java 8安装位置。 另外,内存设置Xms1024m和Xmx2048m是否合理?虽然退出代码13主要与版本相关,但内存不足也可能导致其他问题,不过这里可能性较低。不过还是需要检查是否有拼写错误,比如参数是否正确书写,例如是否有缺少冒号或拼写错误。 使用G1垃圾回收器和字符串去重参数(UseG1GC和UseStringDeduplication)通常是正确的,但需要确认这些参数是否与Java 8兼容。G1GC在Java 7u4及以后版本可用,Java 8应该没问题。Lombok.jar的存在是否会影响启动?通常Lombok是通过代理加载的,但可能需要检查其版本是否兼容STS 4。 用户提到Eclipse Equinox启动器和win32 x86_64架构,说明是在64位Windows系统上运行。需要确认是否安装了64位的Java 8,如果安装了32位的Java,可能会导致问题。同时,检查STS的版本是否与操作系统匹配,即是否下载了正确的64位STS。 可能的解决方案步骤包括: 1. 确认Java 8正确安装,并且环境变量设置正确。 2. 检查STS的ini文件中的-vm参数是否直接指向Java 8的javaw.exe。 3. 确保没有其他Java版本在干扰,比如通过命令行运行java -version来验证当前使用的版本。 4. 尝试清理STS的配置文件或使用干净的安装来排除其他配置问题。 5. 查看STS的日志文件(如workspace/.metadata/.log)是否有更详细的错误信息。 另外,用户可能之前尝试过其他方法没有奏效,需要提供逐步排查的步骤,确保每一步都正确执行。例如,有时即使JAVA_HOME设置正确,但STS启动时可能没有读取到,因此直接在ini文件中指定-vm路径更可靠。 最后,生成相关问题需要考虑用户可能的后续疑问,比如如何更改环境变量,如何检查Java版本,或者如何处理其他启动错误等。</think>### 解决Spring Tool Suite 4启动Java返回退出代码13的方法 退出代码13通常表示**Java版本不兼容**。根据你的参数`requiredJavaVersion=1.8`,以下是分步解决方案: --- #### 1. **确认Java 8环境配置** - **检查Java版本**: ```bash java -version ``` 输出应显示`1.8.x`。若显示更高版本(如Java 17),需调整环境变量[^1]。 - **设置`JAVA_HOME`**: 将系统环境变量`JAVA_HOME`指向Java 8的安装路径(例如:`C:\Program Files\Java\jdk1.8.0_301`)。 --- #### 2. **修改STS启动配置文件** - 打开STS安装目录下的`SpringToolSuite4.ini`(或`sts.ini`)。 - **添加明确的Java虚拟机路径**: ```ini -vm C:\Program Files\Java\jdk1.8.0_301\bin\javaw.exe ``` 将此配置置于文件开头,避免其他参数干扰[^2]。 --- #### 3. **验证内存参数格式** - 确保`Xms1024m`和`Xmx2048m`参数无拼写错误: ```ini -Xms1024m -Xmx2048m ``` 错误的参数(如`Xmx=2048m`)会导致启动失败。 --- #### 4. **检查Lombok兼容性** - 删除STS根目录中的`lombok.jar`,重新启动STS。 - 若问题解决,重新安装兼容版本的Lombok(需支持STS 4)。 --- #### 5. **清理缓存(可选)** - 删除STS工作区目录中的`.metadata`文件夹(备份后操作),排除配置冲突。 --- ### 常见错误排查表 | 现象 | 解决方案 | |---------------------|----------------------------| | 显示Java 17版本 | 调整`JAVA_HOME`为Java 8路径 | | STS.ini未指定`-vm` | 添加明确的Java 8虚拟机路径 | | 内存参数冲突 | 检查参数格式和值范围 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值