maven 설정 checkstyle 검사 의 사용자 정의 모듈

21595 단어 JenkinsMavencheckstyle
전재 출처 주의:http://blog.csdn.net/hwhua1986/article/details/50298133
maven 공식 설정 설명: Maven 공식 설정 설명:http://maven.apache.org/plugins/maven-checkstyle-plugin/
단계 (1) 사용자 정의 검사 xml 를 설정 합 니 다.다음 과 같다.





<module name="Checker">
  <property name="severity" value="warning"/>
  <module name="TreeWalker">
    <module name="ConstantName"/>
    <module name="LocalFinalVariableName"/>
    <module name="MemberName"/>
    <module name="MethodName"/>
    <module name="PackageName"/>
    <module name="StaticVariableName"/>
    <module name="TypeName"/>
    <module name="AvoidStarImport"/>
    <module name="IllegalImport"/>
    <module name="RedundantImport"/>
    <module name="UnusedImports"/>
    <module name="LineLength"/>
    <module name="MethodLength"/>
    <module name="ParameterNumber">
      <property name="tokens" value="METHOD_DEF"/>
    module>
    <module name="EmptyForIteratorPad"/>
    <module name="GenericWhitespace"/>
    <module name="MethodParamPad"/>
    <module name="NoWhitespaceAfter"/>
    <module name="NoWhitespaceBefore"/>
    <module name="OperatorWrap"/>
    <module name="ParenPad"/>
    <module name="TypecastParenPad"/>
    <module name="WhitespaceAfter"/>
    <module name="WhitespaceAround"/>
    <module name="ModifierOrder"/>
    <module name="RedundantModifier"/>
    <module name="AvoidNestedBlocks"/>
    <module name="EmptyBlock"/>
    <module name="LeftCurly">
      <property name="option" value="nl"/>
      <property name="tokens" value="ANNOTATION_DEF,LITERAL_CATCH,CLASS_DEF,CTOR_DEF,LITERAL_DO,LITERAL_ELSE,ENUM_CONSTANT_DEF,ENUM_DEF,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,INTERFACE_DEF,METHOD_DEF,LITERAL_SWITCH,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE"/>
    module>
    <module name="NeedBraces">
      <property name="tokens" value="LITERAL_DO,LITERAL_ELSE,LITERAL_FOR,LITERAL_IF,LITERAL_WHILE"/>
    module>
    <module name="RightCurly">
      <property name="option" value="alone"/>
      <property name="tokens" value="LITERAL_CATCH,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_IF,LITERAL_TRY"/>
    module>
    <module name="AvoidInlineConditionals"/>
    <module name="EmptyStatement"/>
    <module name="EqualsHashCode"/>
    <module name="HiddenField">
      <property name="tokens" value="VARIABLE_DEF"/>
      <property name="ignoreConstructorParameter" value="true"/>
      <property name="ignoreSetter" value="true"/>
      <property name="setterCanReturnItsClass" value="true"/>
      <property name="ignoreAbstractMethods" value="true"/>
    module>
    <module name="IllegalInstantiation"/>
    <module name="InnerAssignment"/>
    <module name="MagicNumber">
      <property name="ignoreHashCodeMethod" value="true"/>
      <property name="ignoreAnnotation" value="true"/>
      <property name="ignoreFieldDeclaration" value="true"/>
      <property name="constantWaiverParentToken" value="DIV,MINUS,UNARY_MINUS,STAR,PLUS,UNARY_PLUS,ASSIGN,ARRAY_INIT,EXPR,ELIST,METHOD_CALL,LITERAL_NEW,TYPECAST"/>
    module>
    <module name="MissingSwitchDefault"/>
    <module name="SimplifyBooleanExpression"/>
    <module name="SimplifyBooleanReturn"/>
    <module name="FinalClass"/>
    <module name="HideUtilityClassConstructor"/>
    <module name="InterfaceIsType"/>
    <module name="VisibilityModifier"/>
    <module name="ArrayTypeStyle"/>
    <module name="TodoComment"/>
    <module name="UpperEll"/>
    <module name="LeftCurly">
      <property name="option" value="nl"/>
    module>
    <module name="RightCurly">
      <property name="option" value="alone"/>
      <property name="tokens" value="LITERAL_CATCH,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_IF,LITERAL_TRY"/>
    module>
    <module name="LeftCurly">
      <property name="option" value="nl"/>
      <property name="tokens" value="ANNOTATION_DEF,LITERAL_CATCH,CLASS_DEF,CTOR_DEF,LITERAL_DO,LITERAL_ELSE,ENUM_CONSTANT_DEF,ENUM_DEF,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,INTERFACE_DEF,METHOD_DEF,LITERAL_SWITCH,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE"/>
    module>
    <module name="EmptyLineSeparator">
      <property name="tokens" value="CLASS_DEF,CTOR_DEF,ENUM_DEF,IMPORT,INSTANCE_INIT,INTERFACE_DEF,METHOD_DEF,PACKAGE_DEF,STATIC_INIT,VARIABLE_DEF"/>
    module>
  module>
  <module name="Translation"/>
  <module name="FileLength"/>
  <module name="FileTabCharacter"/>
module>

단계 (2) 사용자 정의 xml 템 플 릿 을 디 렉 터 리 아래 에 놓 습 니 다.루트 디 렉 터 리 밑 에 놓 을 게 요.maven配置checkstyle检查的自定义模块_第1张图片
단계 (3) pom 파일 을 수정 하여 노드 에 템 플 릿 경로 설정 을 추가 합 니 다. 다음 그림 maven配置checkstyle检查的自定义模块_第2张图片 비고: 템 플 릿 checkstyle - checker. xml 을 config 디 렉 터 리 에 두 면 다음 과 같은 형식 으로 설정 합 니 다.
.config.location>config/checkstyle-checker.xml.config.location>

단계 (4) 원래 xml 경 로 를 주석 합 니 다. Build 의 코드 주석 maven配置checkstyle检查的自定义模块_第3张图片 을 Reporting 의 코드 주석 으로 합 니 다.
maven配置checkstyle检查的自定义模块_第4张图片
STEP (5) 구축 maven配置checkstyle检查的自定义模块_第5张图片
사용자 정의 템 플 릿 을 사용 하지 않 은 콘 솔 출력 그림: 사용자 정의 템 플 릿 을 사용 하지 않 았 을 때 기본적으로 sun 을 사용 합 니 다.check. xml 템 플 릿, 이 템 플 릿 검사 요구 가 매우 엄격 합 니 다.
maven配置checkstyle检查的自定义模块_第6张图片
홈 페이지 에서 보 듯 이 기본 템 플 릿 은 sun 을 사용 합 니 다.checker 템 플 릿 maven配置checkstyle检查的自定义模块_第7张图片

좋은 웹페이지 즐겨찾기