java - 无法让 PMD 5.2.1 检查 JSP 文件?

标签 java jsp maven pmd

谁能告诉我如何启用 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/

相关文章:

java - 从 JSP 填充 vector ,将 vector 输出到 JSP

Maven 查找属性用法

spring - 尝试添加 spring-data 时缺少 Artifact

java - 在 hibernate 中将列表存储为可序列化对象

java - 替换格式不正确的 XML 正文中的字符

java - Oracle JRE 和 Dalvik JVM 上的不同结果

java - 在 spring mvc 中提交表单时出现 HTTP 状态 400 错误

java - 包含 JSP 的 Spring Controller @RequestMapping

java - 如何从 Android webview 中加载的 HTML 中获取 DOM 的内容?

eclipse - 为什么Eclipse会把maven运行时依赖变成编译依赖?