标签:
今天终于把maven-bundle-plugin不能导出META-INF中的内容到Export-Package中的问题解决了,因为产品用的是OSGI框架,用到的第三方JAR包需要加载META-INF/XX/XX.xml这个内容,但在运行的时候getResource返回null。
经一番调查发现META-XX.XX这个包名没有导出,手动去修改MANIFEST.MF可以解决问题。但产品的源码中这个依赖是以maven-bundle-plugin进行打包的,在添加Export-Package:META-INF.xx的时候报错:说找不到META-INF.XX这个包名(显然这样子的包名是不合法的)。
想来想去没有其它好的解决方案,后来发现maven-bundle-plugin 2.4以上的版本可以导出这样子的包名。
可问题又来了,产品目前都是2.3.7的插件版本。。。。又搜索了一番,最后发现用<_failok>true</_failok>可以强制导出一些名甚至一些并不存在的包名。如下:
<Export-Package>META-INF.xxx</Export-Package> <_failok>true</_failok>
maven-bundle-plugin 2.4.0以下版本导出META-INF中的内容到MANIFEST.MF中
标签:
原文地址:http://www.cnblogs.com/mosmith/p/4805914.html