无法获取PMD 5.2.1来检查JSP文件?

时间:2014-12-20 01:26:16

标签: java jsp maven pmd

有谁能告诉我如何为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

1 个答案:

答案 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