Java PMD/Checkstyle-强制在注释值中使用常量

Java PMD/Checkstyle-强制在注释值中使用常量,java,annotations,checkstyle,pmd,static-code-analysis,Java,Annotations,Checkstyle,Pmd,Static Code Analysis,我有一个java注释@Foo(value=“MyValueA”)。因为它只能使用几个值,所以我决定将它们作为常量放入一个类中。因此用户可以使用@Foo(value=MyValues.a) 如何使PMD或Checkstyle强制使用此常量,而不是原始字符串?在PMD中,您可以创建以定义与此注释的值设置为文字字符串的情况相匹配: //NormalAnnotation[@AnnotationName='Foo']///MemberValuePair[@Image='value']]/MemberVal

我有一个java注释
@Foo(value=“MyValueA”)
。因为它只能使用几个值,所以我决定将它们作为常量放入一个类中。因此用户可以使用
@Foo(value=MyValues.a)

如何使PMD或Checkstyle强制使用此常量,而不是原始字符串?

在PMD中,您可以创建以定义与此注释的值设置为文字字符串的情况相匹配:

//NormalAnnotation[@AnnotationName='Foo']///MemberValuePair[@Image='value']]/MemberValue//Literal

使用
枚举。@Foo(…)来自外部库。我无法更改其值的类型。