问题描述
我记得,将我的Eclipse工作区从STS3升级到STS4的步骤之一是从org.springframework.ide.eclipse.core.springbuilder
文件中删除命令.project
,如https://github.com/spring-projects/sts4/wiki/STS3-Migration所述。
但是,今天,我看到我之前进行过升级的一个项目正在使用以下命令:
<buildCommand>
<name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
<arguments>
</arguments>
</buildCommand>
这是STS4最近引入的吗?还是应该删除STS3中的某些内容?上面的升级指南没有提及。
解决方法
还是STS3的东西
简短答案:它属于STS 4,在从STS 3迁移到STS 4时不应删除。
更长的答案:
该特定的构建器运行特定于STS 4的“验证检查”,并在Eclipse构建器内部运行。
但是,当前在该构建器中仅定义了一个验证规则。该规则检查@ConfigurationProperties
注释的使用,并建议将相应的注释处理器添加到类路径(如果尚不存在)。
禁用或除去构建器不会造成其他不良影响,除非禁用单个验证检查。因此,如果您不使用Spring Boot @ConfigurationProperties
,那么它将完全不会影响您。即使您确实(现在或将来)使用它,其影响也很小。基本上,您必须记住自己手动添加注释处理器依赖项,但是不会在编辑器中以警告的形式得到提醒。
展望未来,该构建器很可能会在将来逐步淘汰和移除。现在,在语言服务器中而不是在Eclipse构建器中定义更新的验证,例如最近实施的“ SpEL”表达式验证。如果我们可以在语言服务器中重新实现@ConfigurationProperties
检查,那么完全摆脱Eclipse验证构建器将是有意义的,因为它将不再有用。
非常清楚,是的,它是STS 4的一部分,并且仍然在做一些有用的操作(在Eclipse中),但是在采用语言服务器之前,它已经以一种不同于Eclipse的方式实现了诸如验证之类的功能。具体的。