如何在Antkins中将Ant与Checkstyle和PMD插件集成

时间:2017-07-02 04:05:54

标签: jenkins ant checkstyle pmd

我想在Jenkins中集成Checkstyle和PMD插件,以自动检查质量代码。 我按照以下说明进行操作:http://www.treselle.com/blog/static-code-analysis-jenkins/

我在工作区中的build.xml附加了这些代码:

    <?xml version="1.0" encoding="utf-8" ?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          tools:context=".RefuelingFragment">
          <item android:id="@+id/button_Save"
                android:icon="@drawable/ic_done_white_24dp"
                android:showAsAction="always"
                android:title="Settings" />
    </menu>

我还添加了足够的库,但是当我构建Jobs时,我得到了一个例外:

<taskdef name="checkstyle" classpath="WEB-INF/libs/checkstyle-5.6.jar" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask" />
<target name="checkstyle" description="Generates a report of code convention violations.">
    <checkstyle config="sun_checks.xml" failOnViolation="false">
        <formatter type="xml" tofile="checkstyle_report.xml" />
        <fileset dir="WEB-INF/src" includes="**/*.java" />
    </checkstyle>
</target>
<taskdef name="pmd" classpath="WEB-INF/libs/pmd.jar" classname="net.sourceforge.pmd.ant.PMDTask" />
<target name="pmd" depends="compress">
    <pmd rulesetfiles="java-imports">
        <formatter type="xml" toFile="pmd_report.x.ml" />
        <fileset dir="WEB-INF/src">
            <include name="**/*.java" />
        </fileset>
    </pmd>
</target>

为什么会出现这样的错误?我如何正确地整合它们?

非常感谢!

2 个答案:

答案 0 :(得分:0)

尝试检查样式的更高版本作为checkstyle-8.0-all.jar。 见example

答案 1 :(得分:0)

  

类名=&#34; com.puppycrawl.tools.checkstyle.CheckStyleTask&#34; /&GT;   找不到taskdef类com.puppycrawl.tools.checkstyle.CheckStyleTask

该类名为CheckstyleAntTask

有关如何使用CheckstyleAntTask的示例,请参阅https://github.com/checkstyle/checkstyle/blob/master/config/ant-phase-verify.xml

  

CheckStyle的-5.6.jar

我建议升级到更新版本。 Checkstyle目前的版本为8。