maven-shade-plugin錯誤 Cannot find 'resource' in class

今天,本打算用maven打包一個可執行的jar出來,由於以前都是用的maven-shade-plugin,所以毫無疑問的,這次也用了這個插件。但是奇怪的是,居然報錯,報了一個非常奇怪的錯誤:

Caused by: org.codehaus.plexus.component.configurator.ComponentConfigurationException: Cannot find 'resource' in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer


開始以爲是自己的配置出錯了,少配置了一個resource之類的,然而經過仔細的對比和嘗試之後,發現並沒有什麼錯誤。這就奇怪了。

於是重建了一個項目,複製了所有的類和pom,再次嘗試,居然成功了。 這可就怪異了。


於是,仔細的對比兩個pom的不同,發現,出錯的項目,是一個springboot項目的子模塊,而springboot的父模塊裏面,引用了springboot 而新項目則沒有。 懷疑可能是maven-shade-plugin與springboot之間有什麼衝突。於是,在新項目中引入springboot的依賴,果然,同樣的Cannot find 'resource'錯誤出現了。


於是查了一下資料,發現自己被慣性思維誤導了,springboot本身就帶有自己的打包插件,spring-boot-maven-plugin 這個插件就可以完成打包的工作。如果畫蛇添足引用了Shade反而會導致一些衝突。


找到了原因就好辦了,回去修改POM文件,順利的打包成功




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章