maven - 如何在每次运行 PMD 时避免缓存失效/“分析缓存失效,辅助类路径已更改”?
问题描述
每次我通过 Maven 插件运行 PMD 并设置分析缓存时,我都会看到日志消息
[INFO] Analysis cache loaded
[INFO] Analysis cache invalidated, auxclasspath changed.
[INFO] Analysis cache updated
从有和没有缓存(文件存在)的分析速度来看,没有使用缓存(这就是我在这种情况下理解失效的方式)。我想使用它来加快分析速度。
我在提交钩子中使用 PMD 作为独立二进制文件以及需要指定-auxclasspath
. 我在论坛帖子中找到它,使用它并且它似乎可以工作,但是我不明白它并且找不到有关它的信息。提交挂钩仅针对修改后的文件运行,不使用缓存。
我的插件配置是
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.13.0</version>
<executions>
<execution>
<id>pmd</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<rulesets>
<ruleset>/pmd.xml</ruleset>
</rulesets>
<printFailingErrors>true</printFailingErrors>
<includeTests>true</includeTests>
<analysisCache>true</analysisCache>
<analysisCacheLocation>${env.HOME}/code-analysis/pmd-analysis-cache/${project.name}</analysisCacheLocation>
<linkXRef>false</linkXRef>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-core</artifactId>
<version>6.21.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-java</artifactId>
<version>6.21.0</version>
</dependency>
</dependencies>
</plugin>
有一个问题报告允许对 auxclasspath 是什么以及生成消息的原因进行一些猜测,但是它没有提供解释或说明如何正确使用它。
解决方案
推荐阅读
- r - 为什么我不能在 data.table 中使用 .I 删除当前观察结果?
- netlogo - 如果满足某些条件,如何更改矩阵的元素?
- java - 以页面形式获取 JPAQuery 结果
- javascript - SonarTS 配置文件包含的规则比 JS 少得多……我应该分析我的 dist/ 文件夹吗?
- python - bokeh CategoricalColorMapper 生成重复的图例
- c# - 在 C# 中序列化/读取 XML 时如何规范缩进而不是换行
- r - 采购脚本时绘图不起作用
- c# - Newtonsoft.Json 解析值时遇到意外字符:リ
- google-apps-script - 在应用程序脚本中附加到模板的访问变量
- javascript - 控制器和绑定异步变量