首页 > 编程语言 >java静态代码检测-checkstyle

java静态代码检测-checkstyle

时间:2024-07-25 18:07:30浏览次数:14  
标签:xml ... java checkstyle 静态 maven --

要想使用checkstyle,需要在代码仓库中做一些配置

 

1. 在maven项目的pom.xml文件中,加入checkstyle的依赖包:

Upgrading Checkstyle reference:  https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html

<project>
  ...
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.4.0</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>...choose your version...</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  ...
</project>

2.通过命令执行,来生成report结果文件

reference url: https://checkstyle.sourceforge.io/cmdline.html

例如: java -Xss1m -Xms768m -Xmx768m -XX:NewSize=80m -XX:MaxNewSize=80m -XX:MetaspaceSize=160m -XX:MaxMetaspaceSize=160m -jar /home1/user/jenkins/ci_tools/ci/libs/checkstyle-7.8.2-all.jar -c my-checkstyle-rules.xml -f xml -o target/checkstyle-result.xml ./

 

java -D<property>=<value>  \
     com.puppycrawl.tools.checkstyle.Main \
     -c <configurationFile> \
     [-f <format>] [-p <propertiesFile>] [-o <file>] \
     [-s <line:column>] [-g | --generate-xpath-suppression] [-w | --tabWidth <length>] \
     [-t | --tree] [-T | --treeWithComments] [-J | --treeWithJavadoc] [-j | --javadocTree] \
     [-V | --version] [-b | --branch-matching-xpath <xpathQuery>] [-h | --help] \
     [-e | --exclude <excludedPath>] [-E | --executeIgnoredModules] [-d | --debug] \
     [-x | --exclude-regexp <excludedPathPattern>] \
     file(s) or folder(s) ...
        

ps: my-checkstyle-rules.xml 可以是自定义的规则文件,也可以是官网有的2种规则文件:  sun_checks.xml 和 google_checks.xml

 

3.在jenkins中安装checkstyle 插件

4.在job中配置checkstyle 的执行命令(步骤2),并且勾选结果报告插件

 

标签:xml,...,java,checkstyle,静态,maven,--
From: https://www.cnblogs.com/pingguomang/p/18323853

相关文章

  • langchain4j:用LLM的强大功能为Java应用程序赋能
    吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭,考验耐力与毅力,每有所进,心甚喜之。 吾以为,编程似布阵,算法如谋略,需精心筹谋,方可成就佳作。篮球乃团队之艺,协作共进,方显力......
  • SSM-网络课程系统-29230(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP
    SSM网络课程系统摘 要本论文主要论述了如何使用SSM框架开发一个网络课程系统,将严格按照软件开发流程进行各个阶段的工作,采用B/S架构Java技术,面向对象编程思想进行项目开发。在引言中,将论述网络课程系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统......
  • SpringBoot 依赖之Java Mail Sender邮件发送
    JavaMailSender依赖名称:JavaMailSender功能描述:SendemailusingJavaMailandSpringFramework’sJavaMailSender.使用JavaMail和SpringFramework的JavaMailSender发送电子邮件。<dependency> <groupId>org.springframework.boot</groupId> <artifa......
  • Java八股复习指南-Redis
    Redis基础:Redis为什么快基于内存,内存访问速度比磁盘快基于Reactor模式设计开发单线程事件模型和io多路复用内置了多种优化的数据类型通信协议实现简单且解析高效Redis基本数据类型String需要存储常规数据的场景:缓存Session、Token、图片地址、序列化后的对象(相比较......
  • vite 静态离线无服务器部署 方案
    第一、第二种方案importpathfrom"path";import{defineConfig}from"vite";importvuefrom"@vitejs/plugin-vue";importvueJsxfrom"@vitejs/plugin-vue-jsx";import{viteSingleFile}from"vite-plugin-si......
  • java初识
    JAVA初识1.JDK,JRE和JVM1.1JDK(JavaDevelopmentKit,Java开发工具包)Java开发工具包。顾名思义,JDK是用于Java开发的一套工具包,里面包含了Java的编译器javac、Java程序打包工具jar、Java程序运行环境JRE、文档生成工具javadoc以及很多用于开发的工具,如调试工具jdb等。1.2JRE(Java......
  • JAVA基础语法
    JAVA基础语法1.关键字和保留字1.1关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构。关键字中所有字母都为小写,目前共计50个(包括2个保留字)。1.2保留字保留字是为Java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关......
  • JAVA反射
    JAVA反射一、什么是反射二、反射的应用2.1Class类2.2获取类的成员变量2.3获取成员方法2.4获取构造函数2.5通过反射创建对象2.6通过反射修改属性(常用)2.7通过反射调用方法(常用)三、常见面试题3.1怎么给类中私有属性赋值一、什么是反射反射就是把java类中的各......
  • java跨平台原理
    跨平台是指程序可以在多种平台(MicrosoftWindows、AppleMacintosh和Linux等)上运行,即编写一次,随处运行(WriteOnce,RunAnywhere)。Java语言通过为每个计算机系统提供一个叫做Java虚拟机的环境来实现跨平台。Java虚拟机是可运行Java字节码的虚拟计算机系统。可以将Java虚拟机看成......
  • JavaSE笔记
    目录一、JAVA基础编程二、第一阶段--JAVA基本语法2.1关键字与保留字2.2标识符2.3变量2.4运算符2.5从键盘获取输入Scanner类2.6流程控制结构2.7循环结构番外篇--软件开发流程番外篇--IDEA使用经验IDEA项目结构2.8一维数组数组的特点2.8.1声明与初始化2.8.1.1静态初始化2.......