Java 在Hudson/Jenkins中使用Checkstyle自定义规则

Java 在Hudson/Jenkins中使用Checkstyle自定义规则,java,maven-2,hudson,jenkins,checkstyle,Java,Maven 2,Hudson,Jenkins,Checkstyle,我在Hudson/Jenkins尝试让checkstyle正常工作时遇到问题 我创建了一个自定义checkstyle规则,其中包含非常少的规则(只是为了看看它是否有效),并将其放置在某个服务器中:- <?xml version="1.0"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.co

我在Hudson/Jenkins尝试让checkstyle正常工作时遇到问题

我创建了一个自定义checkstyle规则,其中包含非常少的规则(只是为了看看它是否有效),并将其放置在某个服务器中:-

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
          "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
          "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<module name="Checker">
    <module name="RegexpSingleline">
        <property name="format" value="\s+$" />
        <property name="minimum" value="0" />
        <property name="maximum" value="0" />
        <property name="message" value="Line has trailing spaces." />
    </module>
</module>
我希望能够添加
-e
-X
选项以查看更健壮的日志,但我无法在Jenkins中找到插入它们的位置

如何让我的自定义checkstyle规则与Hudson/Jenkins一起使用


非常感谢。

您可以在“目标和选项”字段中添加
-e
-X
开关


您是否从外部位置引用checkstyle?如果是这样的话,也许你可以试着在你的VCS中为你的项目添加checkstyle(当这起作用时,可能是网络问题)。将checkstyle.xml添加到您的VCS中也有好处,即您拥有构建的可复制性(以及VCS必须提供的其他好处)。

我设置Maven如何以不同的方式找到我的checkstyle.xml配置位置

也许这会让詹金斯工作起来

此外,如果在Jenkins上创建标准作业而不是maven作业,则仍然可以执行maven目标,并且只需添加参数即可

<project
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  ...

  <properties>
    <checkstyle.config.location>http://server/checkstyle.xml</checkstyle.config.location>
  </properties>

  <build>
    ...

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.9.1</version>
      </plugin>
    </plugins>
  </build>

</project>

...
http://server/checkstyle.xml
...
org.apache.maven.plugins

源代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <parent>
        <groupId>a.b</groupId>
        <artifactId>c</artifactId>
        <version>1.0</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>some</groupId>
    <artifactId>project</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>

    ...
</project>
<===[HUDSON REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f D:\hudson\jobs\test\workspace\pom.xml clean site
[INFO] Scanning for projects...
...
<project
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  ...

  <properties>
    <checkstyle.config.location>http://server/checkstyle.xml</checkstyle.config.location>
  </properties>

  <build>
    ...

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.9.1</version>
      </plugin>
    </plugins>
  </build>

</project>