繁体   English   中英

Eclipse-PMD 全局配置规则集

[英]Eclipse-PMD Configure ruleset globally

所以我在共享版本控制环境中使用插件 Eclipse-PMD ( http://sourceforge.net/projects/pmd/files/pmd-eclipse/update-site/ )。

我们在整个项目中有多个较小的项目。

开箱即用,这个插件似乎需要为每个项目单独配置。 它的工作方式是在项目中搜索 .pmd 文件并从中读取信息。

但是对于10-20个子项目这样做真的很不方便。

Preferences -> PMD 下有一个通用设置。 但这似乎不适用于全局,即使选中了全局复选框。

我基本上想要的是:我想将插件配置为在一个地方尊重单个规则集文件。

配置它特定于子项目还有另一个问题:我无法为 .pmd 文件中的 ruleSetFile 配置相对路径。 绝对路径的问题是文件被检入版本控制......所以每次提交时,其他人都必须重新调整。 我发现了这个提交: https : //github.com/pmd/pmd/pull/36但我似乎无法让它按照粗略描述的方式工作。

那么,有没有人实现我正在寻找的东西?

编辑:实际上我什至无法在 .pmd 文件中将任何其他不是“.ruleset”的文件指定<ruleSetFile>而不指定绝对路径??

ruleSetFile 的默认值为“.ruleset”。 所以我想,与此类似,我可以在完全相同的目录中创建一个文件,将其命名为 fooRules.xml,并通过<ruleSetFile>fooRules.xml</ruleSetFile>指定它,但它只能在放置整个路径时才能找到它到 fooRules.xml 里面?!

尝试eclipse-pmd (可在 Eclipse 市场或通过更新站点http://www.acanda.ch/eclipse-pmd/release/latest )。 使用 eclipse-pmd,您可以将项目配置为对多个项目使用单个规则集文件。 它还存储其相对于工作区的路径。 不过,您仍然需要单独配置每个项目(目前,这将在未来版本中更改)。

要按照您描述的方式设置 eclipse-pmd,您必须打开第一个项目的项目属性,选择“PMD”属性页面并添加规则集。 选择规则集类型“工作区”并选择您的规则集文件。 对于每个其他项目,您必须打开项目的 PMD 属性页面,您将在其中找到之前选择的规则集文件,只需选中即可激活。

如果以这种方式进行设置,则每个项目中都会有一个包含设置的.eclipse-pmd文件。 如果您将其检查到您的版本控制系统中,那么您团队中的其他人无需进行任何设置(除了安装 eclipse-pmd)。

免责声明:我写了 eclipse-pmd。 主要是因为我在使用其他插件时遇到了与您完全相同的问题。

我一直在努力让它与PMD for Eclipse一起工作。 虽然Eclipse-PMD内置了此功能,但我遇到了一些其他问题(例如,我认为它不是用来创建报告的)。

诀窍是将规则作为链接添加到项目中。

在项目的父文件夹中创建规则文件,例如 pmd.xml。 将文件添加到要检查的项目中,但将其添加为参考。 因此,将文件从资源管理器拖到包中并选择:

文件操作对话框

在项目属性的PMD部分,选中启用 PMD应用并关闭设置。

现在关闭 Eclipse。 通过将内容替换为以下内容,编辑项目文件夹中名为.pmd的文件:

<?xml version="1.0" encoding="UTF-8"?>
<pmd>
<useProjectRuleSet>true</useProjectRuleSet>
<ruleSetFile>pmd.xml</ruleSetFile>
<includeDerivedFiles>false</includeDerivedFiles>
<violationsAsErrors>true</violationsAsErrors>
<fullBuildEnabled>true</fullBuildEnabled>
</pmd>

重新启动 Eclipse 并右键单击该项目。 选择 PMD/校验码。 现在,只应报告 pmd.xml 中定义的违规。

仅使用 GUI 配置 PMD 似乎对我不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM