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

Is command org.springframework.ide.eclipse.boot.validation.springbootbuilder needed by STS4-Eclipse?

我记得将我的 Eclipse 工作区从 STS3 升级到 STS4 的步骤之一是从 .project 文件中删除命令 org.springframework.ide.eclipse.core.springbuilder,如 https://github.com/spring-projects/sts4/wiki/STS3-Migration 中所述。

但是,今天我看到我的一个项目,我前段时间升级过,正在使用以下命令:

<buildCommand>
    <name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
    <arguments>
    </arguments>
</buildCommand>

这是最近在STS4中引入的东西吗?或者它仍然是 STS3 中应该删除的东西吗?上面的升级指南没有提到

Or is it still something from STS3

简短回答:它属于 STS 4,从 STS 3 迁移到 STS 4 时不应删除。

更长的答案

特定于 STS 4 且 运行 在 Eclipse 构建器中的特定构建器 运行s 'validation checks'。

但是,目前该构建器中只定义了一个验证规则。此规则检查是否使用 @ConfigurationProperties 注释并建议将相应的注释处理器添加到类路径中(如果尚不存在)。

禁用或删除构建器将没有其他 ill-effects 除了禁用该单一验证检查。所以如果你不使用 Spring Boot @ConfigurationProperties 那么它根本不会影响你。即使您确实使用它(现在或将来),影响也很小。基本上,您将不得不记住自己手动添加注释处理器依赖项,但不会在编辑器中以警告的形式得到提醒。

展望未来,此构建器将来可能会被逐步淘汰和移除。较新的验证,例如最近实现的 'SpEL' 表达式的验证,现在是在语言服务器中定义的,而不是在 Eclipse 构建器中。如果我们可以 re-implement @ConfigurationProperties 检查语言服务器,那么完全摆脱 Eclipse 验证构建器就有意义了,因为它不再有用。

所以要完全清楚,是的,它是 STS 4 的一部分,并且仍在做一些有用的事情(在 Eclipse 中),但它早于采用语言服务器作为实现验证之类的方式的方式不是Eclipse-specific.