管理Maven Tycho多模块项目中本地依赖项的版本
我有一个PDE多模块项目。这个项目是用Maven构建的(它使用Tycho)。每个模块依赖项都在OSGI样式的清单中描述,因此模块采用清单优先样式 有些模块依赖于其他本地模块,因此清单中有以下内容:管理Maven Tycho多模块项目中本地依赖项的版本,maven,osgi,tycho,Maven,Osgi,Tycho,我有一个PDE多模块项目。这个项目是用Maven构建的(它使用Tycho)。每个模块依赖项都在OSGI样式的清单中描述,因此模块采用清单优先样式 有些模块依赖于其他本地模块,因此清单中有以下内容: Bundle-SymbolicName: com.example.module1;singleton:=true Bundle-Version: 1.0.0 Require-Bundle: com.example.module2;bundle-version="[1.0.0]", com.exampl
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版本”maven插件。它更新poms、eclipse特性和清单中的版本号。但是本地依赖项的版本没有更新(原因很明显)。此问题已由我的自定义脚本修复
问题:
- 有没有办法在OSGI清单中管理本地依赖项的版本
- 在多模块OSGI(清单优先)项目中,是否有管理本地依赖项版本的最佳实践
在后一种情况下,您可能需要扩展Tycho versions插件,以自动更新具有严格版本范围依赖项的依赖项,如
bundle version=“[1.0.0]”
不清楚您到底要归档什么。您想强制您的module1仅与版本完全相同的module2一起运行吗?这不是您当前指定的:bundle version=“1.0.0”
表示“版本1.0.0或更高版本”。@oberlies,感谢您的评论。我已经解决了我的问题。