PMD 的本地调试环境配置

PMD 的工具就不再介绍。主要是最近在使用过程中,想通过ide 进行调试时,遇到了些问题,以此文记录该过程。

PMD github 地址为:

https://github.com/pmd/pmd

获取到本地 位置:

git clone https://github.com/pmd/pmd

从项目介绍上看,是采用 maven 工具构建的。

到官网下载:

http://maven.apache.org/download.cgi

配置maven 环境变量。

来到之前下载pmd源码目录下使用:

结果报错:

本人jdk版本为1.8。

后来修改了文件:

apache-maven-3.3.9\conf\toolchains.xml

指定了,1.7/1.8 版本都指向 1.8 的jdkHome 目录。   其实怀疑这样修改是有隐患的。这个后续再查。但奇怪的是maven官网上告知这个版本,使用jdk1.7+ 以上的不需要配置的,也可能是我理解问题。 这个待查。

好,再尝试一次。

嗯,可以正常跑通了。

目前只是本地可以编译通过了。


但如何导入IDE进行调试?

使用IDE+Meavn插件构建

个人用的IDE 工具是  IntelliJ IDEA Community Edition 2016.1.1

使用过内置的 maven 插件,发现总是失败。后来把IDE 的maven 插件修改为本地下载的Maven 版本可以顺利编译通过。

setting 下配置 maven home 为本地的


setting files  和repository(可以在settings.xml 下配置) 也最好改成 与 maven home 配置的一致。(虽然上面没有动过 settings.xml这个文件)

导入pmd 项目   :



从  pmd.bat 文件上看,Main_CLASS 为: net.sourceforge.pmd.PMD

 pmd-core  下的  PMD 类里找到main函数。


直接运行 该类。

看来是正常了。


使用自己的规则文件


这里参考官网的步骤:

http://pmd.sourceforge.net/snapshot/customizing/howtowritearule.html

这样获取了两个文件 ,  myrule.xml  、 myrule.java

入参直接写死 。     (也可以不用指定 language/version。额,应该说这两项默认值就是如此。)

提示class not find

需要把  java 文件放置到 可以被加载到的目录。

这里直接放入到  pmd-core\src\main\java 目录下(取决于java文件的 package路径,我这个是没有写package的。)

导入引入的jar包(pmd-java)

可以正常运行。当然我知道这个不是好的方案,原谅我没有用过maven,后续会再学习下,更合理的配置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,925评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,820评论 25 708
  • 很多的父母努力給孩子創造了好的事業基礎和丰富的財富基礎。孩子只需要隨便說個想法,父母都會全力滿足。 ...
    本美莲花阅读 297评论 0 0
  • 民以食为天,红楼梦里写了众多食物,过做工繁琐或外形精致,让人看了忍不住想大快朵颐,贾府的富贵通过这些个食物也都全部...
    深巷梨花阅读 458评论 0 3