Eclipse Maven Webapp项目在生成期间未识别自定义规则集

Eclipse Maven Webapp项目在生成期间未识别自定义规则集,eclipse,maven,pmd,Eclipse,Maven,Pmd,我在Eclipse中有一个Maven WebApp项目(只是一个HelloWorldservlet)并运行tomcat服务器。如果代码包含out.print语句,我的最终目标是使构建失败。我在pom.xml中定义了maven pmd插件2.5,如下所示,并在一个名为sop.xml的文件中定义了一个自定义规则集 但是当我右键单击项目->运行方式->Maven构建并尝试打包它时,构建成功并创建了war文件。我希望构建失败,因为.java代码包含out.print语句 我是马文的新手,希望你们在这方面

我在Eclipse中有一个Maven WebApp项目(只是一个HelloWorldservlet)并运行tomcat服务器。如果代码包含out.print语句,我的最终目标是使构建失败。我在pom.xml中定义了maven pmd插件2.5,如下所示,并在一个名为sop.xml的文件中定义了一个自定义规则集

但是当我右键单击项目->运行方式->Maven构建并尝试打包它时,构建成功并创建了war文件。我希望构建失败,因为.java代码包含out.print语句

我是马文的新手,希望你们在这方面给予我帮助。谢谢

规则集文件(sop.xml):

此规则集检查我的代码中的println语句
POM.xml

4.0.0
MavenWebGroupId
MavenWebArtifactId
战争
0.0.1-快照
MavenWebName
MavenWebDescription
maven编译器插件
1.5
1.5
org.apache.maven.plugins
maven pmd插件
2.5
假的
${compile.source}
c:\rulesets\sop.xml
真的
真的
${project.groupId}
建造
${project.version}
maven战争插件
2
javax.servlet
servlet api
2.5
org.slf4j
slf4j-log4j12
1.5.6

看起来像是
maven pmd plugin
在打包期间没有执行。要在打包期间调用此插件,请按如下方式定义它:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.5</version>
    <configuration>
     ...
    </configuration>
    <dependencies>
    ...
    </dependencies>
    <executions>
        <execution>
            <id>run-pmd</id>
            <phase>prepare-package</phase>
            <goals>
                 <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

org.apache.maven.plugins
maven pmd插件
2.5
...
...
运行pmd
准备包装
检查

请注意
标签。

谢谢。现在我遇到另一个错误“找不到资源”c:\rulesets\sop.xml。尽管我检查sop.xml是否存在于同一位置。我应该把它放在另一个地方吗?在我把sop.xml放在tomcat本身maven项目的src/main/resources文件夹中之后,我能够纠正这个错误。您也可以将
sop.xml
放在
src/main/config
目录中,并将其引用为
${basedir}/src/main/config/sop.xml
。如果我的回答对你有帮助,请接受。