问题
Using the Eclipse Checkstyle plugin I see this error:
Name 'logger' must match pattern
'^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'
.
I resolved this error by changing:
private static final Logger logger = Logger.getLogger(someClass.class);
to
private static final Logger LOGGER = Logger.getLogger(someClass.class);
Why is this a checkstyle warning?
回答1:
Because the field is marked final
and static
which implies that it's a constant and should be named with uppercase letters.
From this link, you can see that the module ConstantName
has the format ^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$
which is exactly the one your Checkstyle plugin has specified.
回答2:
The documentation recommends using this configuration if you wish to keep logger
as a valid option:
<module name="ConstantName">
<property name="format"
value="^log(ger)?|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
</module>
来源:https://stackoverflow.com/questions/27451395/resolve-java-checkstyle-error-name-logger-must-match-pattern-a-za-z0-9