在Jenkins上运行时,Maven网站插件失败

时间:2019-04-11 07:38:41

标签: maven jenkins maven-site-plugin maven-checkstyle-plugin

我正在运行Maven应用程序“ DemoApp”,该应用程序会生成Checkstyle静态代码分析报告。在eclipse上运行时,它可以正常工作,但是在jenkins上运行时,它会出现以下错误

java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent 
Caused by: java.lang.ClassNotFoundException: org.apache.maven.doxia.siterenderer.DocumentContent

以及以下异常:

    <build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>validate</id>
                        <phase>validate</phase>
                        <configuration>
                            <configLocation>src/main/resources/google_checks.xml</configLocation>
                            <encoding>UTF-8</encoding>
                            <consoleOutput>true</consoleOutput>
                            <failsOnError>false</failsOnError>
                            <linkXRef>false</linkXRef>
                        </configuration>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.0.0</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>checkstyle</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
    </plugins>
</reporting>

我在pom.xml中添加了以下插件

nativescript angular

1 个答案:

答案 0 :(得分:1)

我无法确定这是否能解决您当前的问题,但总的来说:<pluginManagement>中的声明实际上并未在构建过程中设置任何内容,而是作为(子)项目共同声明的集中场所:

  

[...]这只会配置在子级或当前POM中的plugins元素中实际引用的插件。

在错误消息maven-site-plugin:3.3和声明:<version>3.7.1中查看不同的版本。

要将此类插件声明添加到构建过程中,您必须在以下位置另外声明/引用它:

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
    </plugins>
    ...
  </build>

maven-checkstyle-plugin也是如此:

  

如果要向控制台报告或无法通过构建,则必须在checkstyle::check元素上添加<build>的执行,并配置所需的任何选项。