jenkins, ant, pmd持续集成
http://pmd.sourceforge.net/pmd-5.0.3/ant-task.html
在jenkins , ant , pmd进行集成的时候,build.xml模板如下,在网上找了一些模板,大部分都是A,B,C,D....狂copy,所以错的地方都一模一样
我这份已经自己试过,只要改下你们自己对应的目录即可。
<?xml version="1.0" encoding="UTF-8"?>
<project name="pmd" default="pmd">
<property environment="env"/>
<!-- 定义pmd的classpath,均为下载的pmd包解压后lib目录下的jar包-->
<path id="pmd.classpath">
<pathelement location="/var/lib/pmd-bin-5.4.2/lib/asm-5.0.4.jar"></pathelement>
<pathelement location="/var/lib/pmd-bin-5.4.2/lib/jaxen-1.1.6.jar"></pathelement>
<pathelement location="/var/lib/pmd-bin-5.4.2/lib/pmd-java-5.5.1.jar"></pathelement>
<pathelement location="/var/lib/pmd-bin-5.4.2/lib/"/>
<fileset dir="/var/lib/pmd-bin-5.4.2/lib/">
<include name="*.jar"> </include>
</fileset>
</path>
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath"/>
<target depends="pmd_html" name="pmd">
<!-- 定义代码检测规则,这里直接列出规则imports.xml和java-unusedcode规则,本例注释了,使用下面一种在另一文件中定义规则集-->
<!--
<pmd rulesetfiles="rulesets/java/imports.xml,java-unusedcode">
-->
<!-- 定义PMD检测规则所在的文件,规则集在pmdrule.xml文件中定义-->
<pmd rulesetfiles="rulesets/java/XXXrules.xml" encoding="UTF-8">
<!-- 输出XML格式的报告-->
<formatter type="html" tofile="pmd_report.html" toconsole="true"/>
<!-- 静态代码检测ExampleProject工程下src目录下的所有java文件-->
<fileset dir="${check_path}">
<include name="**/*.java">
</include></fileset>
</pmd>
</target>
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath"/>
<target name="pmd_html">
<!--
<pmd rulesetfiles="rulesets/java/imports.xml,java-unusedcode">
-->
<pmd rulesetfiles="rulesets/java/xxxxxkrules.xml" encoding="UTF-8">
<!-- 输出HTML格式的报告-->
<formatter type="xml" tofile="pmd_report.html" toconsole="true"/>
<fileset dir="${check_path}">
<include name="**/*.java">
</include></fileset>
</pmd>
</target>
</project>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY