在 Eclipse 中编译期间检查 Jakarta Validation 注释

问题描述 投票:0回答:1

如果我声明一个在其参数上使用验证注释的方法,例如:

public void myMethod(@NonNull String s){}

我想要 Eclipse 进行标记

myMethod(null);

作为编译错误。

可行吗? (评论后似乎 Eclipse 中有一个用于空检查的特定配置,但其他的呢?)

我向 org.hibernate.validator:hibernate-validator 和 jakarta.validation:jakarta.validation-api 添加了依赖项。

我启用了注释处理(必须在项目上添加特定配置,我在工作区级别没有找到 Java 编译器的选项) 我将这两个 jar 添加到注释处理器的工厂路径中

仍然没有发生任何事情。 我错过了什么吗?有可能吗?

或者这些应该被认为只是声明性的,(在这种情况下,我什至需要导入 hibernate-validator 实现吗?)

java eclipse validation annotations
1个回答
0
投票

API 似乎不是为此而设计的。然而 Eclipse 自然可以处理一些与空值相关的注释。

对此没有一般偏好,但可以在项目级别设置注释处理。 项目 > 属性 > Java 编译器 > 注解处理 启用项目特定设置 启用注释处理

需要设置严重性级别,这可以在常规级别而不是项目级别完成。 首选项 > 编译器 > 错误/警告 在“空分析”部分中选中“启用基于注释的空分析” “对空规范使用默认注释”有一个“配置”按钮。

以下是处理的注释:@Nullable @NonNull @NonNullByDefault。这些是 Eclipse 注释,但您可以添加其他注释来处理相同的含义。

但是,这是唯一可用的,没有特定的配置来配置 @Positive 或其他 jakarta 注释的使用。 然后你需要定义

在“注释处理”部分中,有“工厂路径”子部分用于定义除默认注释处理器之外的其他注释处理器,但在这里添加休眠验证器对我来说没有任何效果。可能是因为没有可用的配置来设置这些注释违规的严重性。

注意:在 @NonNull 注释上设置错误严重级别将阻止测试(例如断言抛出异常)编译。

© www.soinside.com 2019 - 2024. All rights reserved.