Jenkins-使用java.lang.NoClassDefFoundError构建失败:jenkins / mvn / GlobalMavenConfig

时间:2013-07-09 09:27:50

标签: jenkins

是否有任何人遇到类似下面的类似问题,或者可能会分享一些关于可能出现问题的想法:

Parsing POMs
FATAL: jenkins/mvn/GlobalMavenConfig
java.lang.NoClassDefFoundError: jenkins/mvn/GlobalMavenConfig
    at hudson.maven.MavenModuleSet.getSettings(MavenModuleSet.java:663)
    at hudson.maven.MavenModuleSetBuild$PomParser.<init>(MavenModuleSetBuild.java:1090)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:882)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:636)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
    at hudson.model.Run.execute(Run.java:1575)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:237)

2 个答案:

答案 0 :(得分:3)

  
    

通常,当Java虚拟机无法在运行时找到编译时可用的特定类时,Java中出现NoClassDefFoundError

  

您可以查看javadocgreat blog post

<Full path to jenkins.war>/WEB-INF/plugins中的maven-plugin版本似乎比<Full path to jenkins.war>/WEB-INF/lib jenkins / mvn / GlobalMavenConfig was added中的jenkins-core版本更新在1.515中,所以你的maven-plugin版本可能是&gt; = 1.515而jenkins-core版本可能是&lt; 1.515。也许,你要么跟着steps that are mentioned here,要么你的 jenkins.war 出了问题。

如何验证:

检查jenkins版本以及jenkins-core-<your version>.jar。您可能会在jenkins-core-<your version>.jar文件夹中找到<Path to jenkins.war>/WEB-INF/lib/。 maven-plugin的类在<Path to jenkins.war>/WEB-INF/plugins/maven-plugin/WEB-INF/lib/classes.jar<Path to jenkins.war>/WEB-INF/plugins/maven-plugin/META-INF/MANIFEST.MF中提到的Maven-plugin版本。

如何修复它:

您可以安装最新版本的jenkins或至少install correct maven-plugin

答案 1 :(得分:0)

如果您的插件需要更新版本的已安装Jenkins的jar,那么大多数时候您会遇到冲突,因为Jenkins默认加载第一个。根据{{​​3}},如果您只是将以下Maven插件和配置添加到Jenkins插件的pom.xml中的构建中,它将覆盖默认行为,以便首先加载插件jar中的类:

<build>
    <plugins>
        <plugin>
            <groupId>org.jenkins-ci.tools</groupId>
            <artifactId>maven-hpi-plugin</artifactId>
            <configuration>
                <pluginFirstClassLoader>true</pluginFirstClassLoader>
            </configuration>
        </plugin>
    </plugins>
</build>