You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring项目Linux正常Windows编译报错:无法实例化SpringApplicationRunListener

解决Spring Boot项目在Windows STS构建失败(Linux正常)的问题

先明确你遇到的核心报错:

Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.boot.SpringApplicationRunListener : org.springframework.boot.context.event.EventPublishingRunListener at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java...

我之前在跨平台开发时也碰到过几乎一模一样的问题,本质上大多是Windows系统特性或者本地构建环境的差异导致的,给你几个亲测有效的排查方向:

  • 清理本地依赖缓存
    Windows的文件系统大小写不敏感,有时候Maven/Gradle下载依赖时会出现缓存损坏、依赖不全的情况。最简单的解决方式是:

    • 如果你用Maven:找到用户目录下的.m2/repository文件夹,直接删除它,然后回到STS中执行mvn clean install -U强制更新依赖。
    • 如果你用Gradle:删除用户目录下的.gradle/caches文件夹,然后执行gradle clean build --refresh-dependencies。
  • 解决Windows路径长度限制
    Windows默认的文件路径长度限制是260字符,而Spring Boot的依赖层级很深,很容易触发这个限制。解决方法二选一:

    1. 启用Windows长路径支持:按下Win+R输入regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,修改LongPathsEnabled的值为1(如果没有就新建一个DWORD(32位)值),重启电脑后生效。
    2. 把项目移动到更短的路径下,比如从C:\Users\YourFullName\Documents\Workspaces\SpringBootProjects\MyComplexApp改成C:\Apps\MyApp。
  • 对齐STS与Linux的构建环境
    检查STS的JDK和构建工具版本是否和Linux一致:

    • 打开STS的Window > Preferences > Java > Installed JREs,确保使用的JDK版本(比如OpenJDK 17)和Linux上完全相同,不要混用Oracle JDK和OpenJDK。
    • 检查Maven/Gradle配置:Window > Preferences > Maven > Installations,确认STS使用的Maven版本和Linux一致,同时检查settings.xml的镜像、仓库配置是否和Linux端没有差异。
  • 检查文件换行符和编码
    跨平台的换行符差异(LF vs CRLF)偶尔会导致Spring Boot的配置文件或类文件解析异常:
    右键项目选择Properties > Resource,在Text file encoding里设置编码为UTF-8,Line delimiter选择Unix and OS X (LF),然后点击Apply and Close,重新执行构建。

  • 确认STS与Spring Boot版本兼容
    如果你的Spring Boot版本比较新(比如3.x),旧版本的STS可能不支持。可以打开STS的Help > Check for Updates,把STS更新到最新稳定版,或者查看Spring Boot官方文档确认对应的STS版本要求。

内容的提问来源于stack exchange,提问作者Przemysław Mateusz Buzałek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:51:50