如何配置Maven以生成正确的命名OSGi包

问题描述:

我正在使用maven-bundle-plugin生成我的包。 错误的一个问题是,finalName(jar文件)不符合实际的软件包名称。如何配置Maven以生成正确的命名OSGi包

内部束插件从Maven的格式的版本转换为OSGi的格式(例如:1.0-SNAPSHOOT => 1.0.0.SNAPSHOOT)

应该如何实际propper OSGi的命名可以构建罐子之前被提取/捆绑?

例如,考虑我的假象会com.mycomp.proj与版本1.2 SNAPSHOOT 束象征性的名称将是com.mycomp.proj。 我想定制maven-bundle-plugin来生成com.mycomp.proj_1.2.SNAPSHOOT而不是当前的一个om.mycomp.proj-1.2-SNAPSHOOT从SuperPOM继承。

的想法是提取OSGIfied版本的把它放在<finalName> $ {project.artifactId} _ $ {} osgiVersion </finalName & GT; .... buh不知道如何/如果我可以得到thhis OSGified版本

+0

我不认为maven-bundle-plugin设置了这样的属性。 – 2010-02-27 16:48:25

finalName仅影响/ target文件夹中的文件。将文件安装或部署到存储库后,它将始终重命名为$ {artifactId} - $ {version} - $ {classifier}。$ {type},它是M2存储库布局标准的一部分。

+0

即使我知道这一点(但在这种情况下没有考虑到)......我投了你的回答,是正确的答案。 因为我正在开发OSGi/RCP应用程序,所以我的想法是使用相同的OSGI包名称(基于Bundle-SymbolicName)作为Maven最终名称,所以您有任何建议如何后处理Maven工件(例如:之后依赖:复制依赖)重命名为OSGi名称(使用Maven /内置Ant)? – user68682 2010-03-08 06:47:24