Eclipse-PMD全局配置规则集

时间:2015-06-10 13:11:39

标签: java eclipse eclipse-plugin pmd

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

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

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

但对于10-20个子项目来说,这真的很不方便。

首选项下有一般设置 - > PMD。但即使检查了全局复选框,这似乎也无法全局应用。

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

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

那么,有没有人实现我想要的目标?

编辑:实际上我甚至不能指定任何其他不是&#34; .ruleset&#34;的文件。在.pmd文件中为<ruleSetFile> 而未指定绝对路径 ??

ruleSetFile的默认值为&#34; .ruleset&#34;。所以我想,就像那样,我可以在完全相同的dir 中创建一个文件,将其命名为fooRules.xml,并通过<ruleSetFile>fooRules.xml</ruleSetFile>指定它,但只有在放入时才能找到它那里的fooRules.xml的完整路径?!

2 个答案:

答案 0 :(得分:2)

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

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

如果以这种方式进行设置,每个项目中都会有一个包含设置的.eclipse-pmd文件。如果你在版本控制系统中检查这一点,那么团队中没有其他人必须设置任何东西(除了安装eclipse-pmd)。

免责声明:我写过eclipse-pmd。主要是因为我和其他插件有完全相同的问题。

答案 1 :(得分:1)

为了使它与用于Eclipse的PMD 一起工作,我一直在苦苦挣扎。尽管 Eclipse-PMD 内置了此功能,但我还有其他问题(例如,我认为这并不是要创建报告)。

窍门是将规则作为 link 添加到项目中。

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

File Operation Dialog

现在保存并关闭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>

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

重新启动Eclipse,然后右键单击该项目。选择PMD /检查码。现在,仅应报告在pmd.xml中定义的违规。