Jenkins-使用java.lang.NoClassDefFoundError生成失败:Jenkins/mvn/globalManConfig
是否有人遇到过类似的问题,如下面所述,或者可能会对此处可能出现的问题分享一些想法:Jenkins-使用java.lang.NoClassDefFoundError生成失败:Jenkins/mvn/globalManConfig,jenkins,Jenkins,是否有人遇到过类似的问题,如下面所述,或者可能会对此处可能出现的问题分享一些想法: Parsing POMs FATAL: jenkins/mvn/GlobalMavenConfig java.lang.NoClassDefFoundError: jenkins/mvn/GlobalMavenConfig at hudson.maven.MavenModuleSet.getSettings(MavenModuleSet.java:663) at hudson.maven.Mave
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)
解析pom
致命:jenkins/mvn/GlobalManConfig
java.lang.NoClassDefFoundError:jenkins/mvn/globalManConfig
位于hudson.maven.MavenModuleSet.getSettings(MavenModuleSet.java:663)
位于hudson.maven.MavenModuleSetBuild$PomParser。(MavenModuleSetBuild.java:1090)
位于hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:882)
位于hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:636)
位于hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
位于hudson.model.Run.execute(Run.java:1575)
在hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:491)
在hudson.model.ResourceController.execute(ResourceController.java:88)
运行(Executor.java:237)
通常,当Java虚拟机无法在运行时找到编译时可用的特定类时,Java中的NoClassDefFoundError就会出现
你可以看一看和
似乎/WEB-INF/plugins
中的maven插件版本比/WEB-INF/lib
中的jenkins core版本和中的jenkins/mvn/GlobalManConfig版本更新,因此您的maven插件版本可能>=1.515,jenkins core版本可能<1.515。也许,你要么跟随了,要么你的詹金斯战争出了问题
如何验证:
检查jenkins版本,并检查jenkins core-.jar
。您可以在/WEB-INF/lib/
文件夹中找到jenkins core-.jar
。maven插件的类位于/WEB-INF/plugins/maven-plugin/WEB-INF/lib/Classes.jar
中。/WEB-INF/plugins/Maven-plugin/META-INF/MANIFEST.MF
中提到的Maven插件版本
如何修复它:
您可以安装最新版本的jenkins,或者至少安装。如果您的插件需要一个与jenkins一起安装的jar的更新版本,大多数情况下您会遇到冲突,因为默认情况下jenkins首先加载。根据,如果您只需将以下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>
org.jenkins-ci.tools
maven hpi插件
真的
嗯,在类路径中找不到jenkins/mvn/GlobalMavenConfig
。这很奇怪,因为globalManConfig
在jenkins core-.jar中。确保/WEB-INF/lib/jenkins core-.jar/jenkins/mvn/GlobalMavenConfig.class实际存在。如果没有这样的类,则下载正确版本的jenkins core-.jar
或更新版本的jenkins。(至少在基于debian的Linux上,jenkins.war的路径通常是/usr/share/jenkins/jenkins.war)