10.4 实战:插入式注解处理器 10.4.3 运行与测试

10.4.3 运行与测试

我们可以通过Javac命令的“-processor”参数来执行编译时需要附带的注解处理器,如果有多个注解处理器的话,用逗号分隔。还可以使用-XprintRounds和-XprintProcessorInfo参数来查看注解处理器运作的详细信息,本次实战中的NameCheckProcessor的编译及执行过程如代码清单10-19所示。

代码清单10-19 注解处理器的运行过程
1
2
3
4
5
6
7
8
9
10
11
12
13
D:\src>javac org/fenixsoft/compile/NameChecker.java 
D:\src>javac org/fenixsoft/compile/NameCheckProcessor.java
D:\src>javac -processor org.fenixsoft.compile.NameCheckProcessor
org/fenixsoft/compile/BADLY_NAMED_CODE.java
org\fenixsoft\compile\BADLY_NAMED_CODE.java:3: 警告:名称“BADLY_NAMED_CODE”应当符合驼式命名法(Camel Case Names) public class BADLY_NAMED_CODE { ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:5: 警告:名称“colors”应当以大写字母开头 enum colors { ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:6: 警告:常量“red”应当全部以大写字母或下划线命名,并且以字母开头 red, blue, green; ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:6: 警告:常量“blue”应当全部以大写字母或下划线命名,并且以字母开头 red, blue, green; ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:6: 警告:常量“green”应当全部以大写字母或下划线命名,并且以字母开头 red, blue, green; ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:9: 警告:常量“_FORTY_TWO”应当全部以大写字母或下划线命名,并且以字母开头 static final int _FORTY_TWO = 42; ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:11: 警告:名称“NOT_A_CONSTANT”应当以小写字母开头 public static int NOT_A_CONSTANT = _FORTY_TWO; ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:13: 警告:名称“Test”应当以小写字母开头 protected void Test() { ^
org\fenixsoft\compile\BADLY_NAMED_CODE.java:17: 警告:名称“NOTcamelCASEmethodNAME”应当以小写字母开头 public void NOTcamelCASEmethodNAME() { ^