谁能告诉我如何启用 JSP 检查 PMD?我有一个现有的 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
最佳答案
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
关于java - 无法让 PMD 5.2.1 检查 JSP 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27576098/