什么是OSGI版本限定符

时间:2014-01-21 11:13:47

标签: java maven pom.xml tycho eclipse-pde

我需要确认我怀疑的内容,因为我找不到任何关于它的文档,所以这似乎是一个愚蠢的问题,因为我是eclipse PDE的学习者。

最初,

我有一个带有

的eclipse插件项目的父项目pom
<version>1.1.0-SNAPSHOT</version>

有两个子项目,他们的poms都将父pom称为版本1.1.0-SNAPSHOT。

我能够成功构建项目并拥有一个用于将插件安装到eclipse中的站点。

然后,我希望我的个人临时版本叫做1.1.1-mine。所以我修改了三个poms     1.1.1雷

我还从

更新了META-INF / MANIFEST.MF和feature.xml
0.13.0.qualifier

0.13.1.qualifier

但是,构建遇到以下错误。

  

[错误]无法在项目org.sonatype.m2e.subclipse:OSGi 1.1版上执行目标org.eclipse.tycho:tycho-packaging-plugin:0.15.0:validate-version(default-validate-version)。 1. META-INF / MANIFEST.MF中的限定符与pom.xml中的Maven版本1.1.1-mine不匹配

限定符是否必须是maven版本关键字?因为,在我将 我的 更改为poms中的 SNAPSHOT 后,构建过程没有错误。

如果没有,我做错了什么?

如果允许我使用版本1.1.1-mine,我该怎么做?

1 个答案:

答案 0 :(得分:2)

简而言之,OSGi .qualifier-SNAPSHOT的含义相同。

由于OSGi在版本(+限定符)中不允许超过3个数字,因此创建-mine版本有点棘手。

According to the FAQ,你可以告诉Tycho一个字符串,它应该用来代替qualifier

 mvn -DforceContextQualifier=mine 

请注意,这会禁用您从SNAPSHOT版本获得的所有优点(即您可以多次部署该捆绑包)。