Maven构建Xtext/Picto RCP缺失com.atlassian.commonmark OSGi bundle求助
解决方案
- 优先升级Picto至最新稳定版:2.3及更早版本的Picto未内置commonmark相关依赖,最新版Eclipse Epsilon Picto已整合全部运行必需依赖,构建时无需额外引入第三方包即可通过Tycho校验。
- 添加配套p2依赖源:将以下任意一类p2源添加到Tycho构建的父POM仓库配置中,即可自动获取符合OSGi规范的commonmark包,满足Picto依赖要求:
- Eclipse Epsilon官方配套p2更新站点,已预打包所有Picto运行需要的依赖包
- Eclipse Orbit第三方OSGi bundle仓库,已收录OSGi适配后的各版本com.atlassian.commonmark包
- 手动封装commonmark为OSGi bundle:若不便使用公共p2源,可通过maven-bundle-plugin对普通Maven仓库中的com.atlassian.commonmark jar包进行OSGi适配,参考配置如下:
<plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName>com.atlassian.commonmark</Bundle-SymbolicName> <Bundle-Version>0.17.0</Bundle-Version> <Export-Package>com.atlassian.commonmark.*;version="0.17.0"</Export-Package> <Import-Package>*;resolution:=optional</Import-Package> </instructions> </configuration> </plugin>
封装完成后将生成的bundle添加至本地构建依赖库即可。
内容的提问来源于stack exchange,提问作者umpapa
相关产品推荐
相关产品推荐

