有谁能告诉我如何为PMD启用JSP检查?我有一个现有的Maven Web项目,我正在尝试进行PMD语法检查。非常典型的配置:
/src/main/java (java files here)
/src/main/webapp/WEB-INF/views (jsp files here)
我正在使用Maven插件,版本3.3(当前),它使用PMD 5.2.1。从理论上讲,这包括检查JSP文件,但没有触及我的JSP文件。 (Java文件检查工作正常。)
这是我的Maven插件配置:
<profile>
<id>pmd</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.3</version>
<configuration>
<verbose>true</verbose>
<includes>
<include>src/main/java/**/*.java</include>
<include>src/main/**/*.jsp</include>
</includes>
<rulesets>
<ruleset>${project.basedir}/src/main/resources/properties/pmd_workspace.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>pmd</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
这是整个控制台输出:
[INFO] --- maven-pmd-plugin:3.3:pmd (default) @ MyWAR---
[WARNING] Unable to locate Source XRef to link to - DISABLED
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UnnecessaryConversionTemporary instead of the deprecated Rule name rulesets/java/basic.xml/UnnecessaryConversionTemporary. Future versions of PMD will remove support for this deprecated Rule name usage.
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UnnecessaryFinalModifier instead of the deprecated Rule name rulesets/java/basic.xml/UnnecessaryFinalModifier. Future versions of PMD will remove support for this deprecated Rule name usage.
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UnnecessaryReturn instead of the deprecated Rule name rulesets/java/basic.xml/UnnecessaryReturn. Future versions of PMD will remove support for this deprecated Rule name usage.
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UnusedNullCheckInEquals instead of the deprecated Rule name rulesets/java/basic.xml/UnusedNullCheckInEquals. Future versions of PMD will remove support for this deprecated Rule name usage.
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UselessOperationOnImmutable instead of the deprecated Rule name rulesets/java/basic.xml/UselessOperationOnImmutable. Future versions of PMD will remove support for this deprecated Rule name usage.
Dec 19, 2014 6:21:51 PM net.sourceforge.pmd.RuleSetFactory parseRuleReferenceNode
WARNING: Use Rule name rulesets/java/unnecessary.xml/UselessOverridingMethod instead of the deprecated Rule name rulesets/java/basic.xml/UselessOverridingMethod. Future versions of PMD will remove support for this deprecated Rule name usage.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
答案 0 :(得分:1)
http://maven.apache.org/plugins/maven-pmd-plugin/pmd-mojo.html#language
目前无法在不修改插件的情况下检查“jsp”作为源类型。
您可能希望尝试将PMD的直接命令行选项作为快捷方式使用maven-exec。
http://mojo.codehaus.org/exec-maven-plugin/
的http :: //pmd.sourceforge.net/pmd-5.2.1/usage/running.html