You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Spring STS中Spring Boot项目默认结构恢复及格式变更问题解决

解决Spring STS里Spring Boot项目结构被Java EE配置搞乱的问题

为啥会出现这种情况?

你踩的这个坑本质是STS的工作空间全局配置被悄悄篡改了。当你创建Dynamic Web Project并同意转成Java EE格式时,STS不光改了这个新项目的配置,还把整个工作空间的默认项目模板切换成了Java EE模式——这就导致原来的Spring Boot项目被自动加上了Java EE相关的项目特征(facet),后来新建的Spring Boot项目也直接继承了这些多余的配置,结果就是所有项目的结构都乱了套。

先搞定工作空间默认配置(防止新建项目再翻车)

首先得把STS的全局配置改回去,不然新建项目还是会出问题:

  • 打开STS,点顶部菜单栏的 Window > Preferences
  • 在弹出的设置窗口里,展开 Maven > Java EE Integration,把**"Enable Java EE Configuration"**这个勾选框去掉,然后点Apply and Close。这样之后新建的Spring Boot/Maven项目就不会自动沾Java EE的配置了。

逐个修复已有的Spring Boot项目

接下来要把每个被搞乱的项目改回原样:

  1. 右键要修复的项目,选 Properties(属性)
  2. 在属性窗口里找到 Project Facets(项目特征):
    • Dynamic Web ModuleJAX-WS 相关的所有选项都取消勾选(比如JAX-WS Web Services这类)
    • 只保留 Java(版本要和你的项目JDK对应)和 Maven(Gradle项目就留Gradle)这两个选项
    • Apply,STS会提示要移除相关文件,直接确认就行
  3. 手动删掉多余的Java EE文件:
    • 如果项目里有 WebContent 文件夹,直接删掉
    • 要是src/main/webapp/WEB-INF下面多了web.xml,也删掉
    • 项目根目录下的deploymentDescriptor相关文件/文件夹也一并删除
  4. 刷新项目:右键项目选Refresh,或者按F5
  5. 重新构建项目:右键项目 > Run As > Maven clean,接着Run As > Maven install(Gradle项目就执行cleanbuild任务)

检查是否恢复正常

修复完之后,看看项目结构是不是回到标准Spring Boot的样子:

  • 核心目录是src/main/java(放业务代码)、src/main/resources(放配置和静态资源)、src/test/java(放测试代码)
  • 没有多余的Java EE相关目录和配置文件
  • 项目图标变回Spring Boot的绿色小叶子(不是Java EE的Web项目图标)

避坑小贴士

以后要是需要创建Java EE动态Web项目,建议单独开一个新的STS工作空间,别和Spring Boot项目放一块,这样就不会互相干扰配置啦。

内容的提问来源于stack exchange,提问作者Farnan

火山引擎 最新活动