我有一个PDE多模块项目。这个项目是用Maven构建的(它使用Tycho)。每个模块依赖关系都在OSGI风格的清单中进行了描述,因此这些模块处于清单优先风格。在Maven Tycho多模块项目中管理本地依赖项的版本
一些模块依赖于其他局部模块,所以在体现我有以下几点:
Bundle-SymbolicName: com.example.module1;singleton:=true
Bundle-Version: 1.0.0
Require-Bundle: com.example.module2;bundle-version="[1.0.0]",
com.example.module3;bundle-version="[1.0.0]",
的捆绑版和本地依赖性的版本是相同的。我无法从清单中删除本地依赖项的版本,并且我无法从maven生成清单(tycho,它验证清单,在Maven生命周期的开头运行)。
为了更新项目版本,我必须使用“tycho-versions”maven插件。它以poms,eclipse功能和清单更新版本号。但本地依赖关系的版本不会更新(出于显而易见的原因)。此问题已由我的自定义脚本修复。
问题:
- 是否有管理OSGI体现本地依赖性的版本呢?
- 是否有任何最佳实践来管理多模块OSGI(manifest-first)项目中的本地依赖项版本?
这是不是100%准确清楚要归档的内容。你是否想要强制你的module1只与module2一起运行,版本完全相同?这不是你现在指定的:'bundle-version =“1.0.0”'表示“版本1.0.0或更高版本”。 – oberlies
@oberlies,谢谢你的评论。我已经解决了我的问题。 –