是否有任何人遇到类似下面的类似问题,或者可能会分享一些关于可能出现问题的想法:
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)
答案 0 :(得分:3)
通常,当Java虚拟机无法在运行时找到编译时可用的特定类时,Java中出现
NoClassDefFoundError
。
您可以查看javadoc和great 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>