论坛首页 编程语言技术论坛

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

浏览 1648 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-06-22  

今天升级了下我的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.*

 

    <!-- SLF4J -->
    <exportedPackage>org.slf4j.*</exportedPackage>
    <exportedPackage>org.slf4j.spi.*</exportedPackage>

 

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

 



 

 

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

 

 

 

参考:

https://github.com/jcgay/maven-color/issues/10

https://issues.apache.org/jira/browse/MNG-5845

https://issues.apache.org/jira/browse/MNG-5842

  • 大小: 7.8 KB
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics