STS4-Eclipse是否需要命令org.springframework.ide.eclipse.boot.validation.springbootbuilder?

问题描述

我记得,将我的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的方式实现了诸如验证之类的功能。具体的。