2017-04-21 363 views
1

當我使用Jenkins構建springboot(1.4.0版本)項目時,遇到了一個問題,即無法使用找到類org.springframework.asm.ClassVisitor。該建築的錯誤是如下:Jenkins未能構建SpringBoot項目(找不到類org.springframework.asm.ClassVisitor)

Caused by: java.lang.NoClassDefFoundError: org/springframework/asm/ClassVisitor at org.springframework.boot.loader.tools.Repackager.findMainMethod(Repackager.java:310) at org.springframework.boot.maven.RepackageMojo$LoggingRepackager.findMainMethod(RepackageMojo.java:372) at org.springframework.boot.loader.tools.Repackager.buildManifest(Repackager.java:284) at org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:207) at org.springframework.boot.loader.tools.Repackager.repackage(Repackager.java:152) at org.springframework.boot.maven.RepackageMojo.repackage(RepackageMojo.java:206) at org.springframework.boot.maven.RepackageMojo.execute(RepackageMojo.java:193) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) ... 32 more Caused by: java.lang.ClassNotFoundException: org.springframework.asm.ClassVisitor at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

然而,類org.springframework.asm.ClassVisitor在彈簧核心4.3.2.RELEASE.jar存在。看起來,在構建項目時,maven無法找到所需的課程。另外,我必須清楚地說明我的springboot項目中沒有包含spring-asm-xxx.jar,所以沒有機會存在jar衝突。而且,對我來說很奇怪的是,我在IDEA中成功地構建了同樣的springboot項目。

我不知道爲什麼會發生這種情況。你認爲有什麼可能的原因會導致這個問題?期待你的回覆!提前致謝!

+0

除非你有[mvce](http://stackoverflow.com/help/mcve),否則我們無法真正地提供幫助。您使用的是Jenkins配置?你的朋友說什麼?什麼是運行的命令? – OrangeDog

+0

找不到的類是最常見的壞POM文件引起的,你能否提供它? – Sarief

回答

0

感謝您的意見。幸運的是,我通過集成兩個本地maven倉庫解決了這個問題。之前,大約在一個月前,我曾經在Jenkins成功創建了一個springboot項目。對於我未能在Jenkins中構建的上一個springboot項目,我使用了另一個本地maven倉庫,它遇到了我上面提到的問題。今天,我嘗試將這兩個maven軟件庫整合起來,以便它能夠正常工作,並且非常幸運,它的成功運行和springboot項目的成功完成。儘管如此,我仍然對有問題的存儲庫出了什麼問題感到困惑。