自定义maven plugins, 找不到org.slf4j.helpers.MessageForm 问题(ClassNotFoundException)

今天升级了下我的maven, 从3.2.1 升级到 3.3.3
发现,我的自定义 maven 插件(feilong-training-plugin), 运行不了了, 提示

Caused by: java.lang.NoClassDefFoundError: org/slf4j/helpers/MessageFormatter



具体内容, 参见我在maven jira系统中发的issue
地址是: https://issues.apache.org/jira/browse/MNG-5845

经过一番排查, 发现, maven 3.3.3 包里面的 "META-INF/maven/extension.xml"(注:该文件 since 3.3.0)

默认 exported了 两个slf4j package, 遗漏了org.slf4j.helpers.*

org.slf4j.* org.slf4j.spi.*


因此, 可以手工修改 该文件


自定义maven plugins, 找不到org.slf4j.helpers.MessageForm 问题(ClassNotFoundException)
文章图片



覆盖原文件, 重新运行 插件, 完美成功

-------

有点饿了,端午节深更半夜的还在摸索技术的人, 伤不起啊~~!!!


【自定义maven plugins, 找不到org.slf4j.helpers.MessageForm 问题(ClassNotFoundException)】
参考:
https://github.com/jcgay/maven-color/issues/10
https://issues.apache.org/jira/browse/MNG-5845
https://issues.apache.org/jira/browse/MNG-5842

    推荐阅读