【问题标题】:How to configure Maven to generate the correct named OSGi bundle如何配置 Maven 以生成正确的命名 OSGi 包
【发布时间】:2011-01-21 16:12:36
【问题描述】:

我正在使用 maven-bundle-plugin 来生成我的包。 困扰我的一个问题是 finalName(jar 文件)不符合实际的包名称。

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

在构建 jar/bundle 之前应该如何提取实际的 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 strong> 继承自 SuperPOM。

想法是提取OSGIfied版本并将其放在${project.artifactId}_${osgiVersion}&gt下; .... 不知道如何/如果我能得到这个 OSGified 版本

【问题讨论】:

  • 我不认为 maven-bundle-plugin 设置了这样的属性。

标签: plugins osgi maven bundle


【解决方案1】:

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

【讨论】:

  • 即使我知道这一点(但在这种情况下没有考虑过)...我投票赞成您的回答,这是正确的答案。由于我正在开发 OSGi/RCP 应用程序,我的想法是使用相同的 OSGI 包名称(基于 Bundle-SymbolicName)作为 Maven 最终名称,所以您有什么建议如何对 Maven 工件进行后处理(例如:依赖后:copy-dependencies) 将它们重命名为 OSGi 名称(使用 Maven/内置 Ant)?
猜你喜欢
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-23
  • 2011-05-17
  • 2014-06-23
  • 1970-01-01
  • 2017-02-23
相关资源
最近更新 更多