如何在OSGi中导入任何大于或等于1.0.0版本的包?

如何在OSGi中导入任何大于或等于1.0.0版本的包?,osgi,version,manifest.mf,Osgi,Version,Manifest.mf,我正在尝试导入OSGi包,任何大于或等于1.0.0的版本都是有效的。基本上,我只是想确保我没有得到任何0.x版本,但除此之外,任何版本都是可以接受的。如何允许1.0.0(包含)和无限(无界)之间的所有版本 我尝试了以下方法: com.mypackage.example;version="[1.0.0,)" com.mypackage.example;version="[1,)" com.mypackage.example;version="[1.0.0]" com.mypackage.examp

我正在尝试导入OSGi包,任何大于或等于
1.0.0
的版本都是有效的。基本上,我只是想确保我没有得到任何
0.x
版本,但除此之外,任何版本都是可以接受的。如何允许
1.0.0
(包含)和无限(无界)之间的所有版本

我尝试了以下方法:

com.mypackage.example;version="[1.0.0,)"
com.mypackage.example;version="[1,)"
com.mypackage.example;version="[1.0.0]"
com.mypackage.example;version="[1.0.0)"

我也看了这个问题:。但它似乎引用的是Java API,而不是MANIFEST.MF
导入包的头。

要为包指定
[1.0.0,无穷大)
的版本范围,只需在引号中包含版本号:

com.mypackage.example;version="1.0.0"
这将允许任何大于或等于
1.0.0
的版本

由于指定单个版本号意味着无限范围,您可能想知道如何导入包的特定版本(而不是其他版本)。您可以通过指定从版本到自身的范围来实现这一点:

com.mypackage.example;version="[1.3.1,1.3.1]"

所有这些信息都来自上的Eclipse文档(特别是版本控制部分)。

要为包指定
[1.0.0,无穷大)
的版本范围,只需在引号中包含版本号:

com.mypackage.example;version="1.0.0"
这将允许任何大于或等于
1.0.0
的版本

由于指定单个版本号意味着无限范围,您可能想知道如何导入包的特定版本(而不是其他版本)。您可以通过指定从版本到自身的范围来实现这一点:

com.mypackage.example;version="[1.3.1,1.3.1]"

所有这些信息都来自上的Eclipse文档(特别是版本控制部分)。

已经有一个答案解释了如何做到这一点,但我觉得有责任说,任何人都不应该这样做

为包导入设置上限是API发展和语义版本控制的一个重要部分。如果您声称可以使用所有未来版本,那么您最终将被API更改打破

导出包
的版本从
1.x
移动到
2.0
意味着已经进行了突破性的更改。您所依赖的方法可能不再存在,或者可能表现出不同的行为。说您将与API的所有未来版本兼容是不安全的

如果您是消费者,则导入版本
1.0
API时要使用的正确版本范围是
“[1,2]”
,如果您是提供商,则导入版本
“[1,1.1]”


消费者是API的“典型用户”,例如,如果我编写一个Servlet,我就是Servlet API的“消费者”。提供者是为API提供支持实现的人(例如TomCat)。请注意,这与说实现接口使您成为一个提供者不同,使用Servlet API需要您实现Servlet接口。

已经有一个答案解释了如何做到这一点,但我觉得有义务说,任何人都不应该这样做

为包导入设置上限是API发展和语义版本控制的一个重要部分。如果您声称可以使用所有未来版本,那么您最终将被API更改打破

导出包
的版本从
1.x
移动到
2.0
意味着已经进行了突破性的更改。您所依赖的方法可能不再存在,或者可能表现出不同的行为。说您将与API的所有未来版本兼容是不安全的

如果您是消费者,则导入版本
1.0
API时要使用的正确版本范围是
“[1,2]”
,如果您是提供商,则导入版本
“[1,1.1]”


消费者是API的“典型用户”,例如,如果我编写一个Servlet,我就是Servlet API的“消费者”。提供者是为API提供支持实现的人(例如TomCat)。请注意,这与说实现一个接口使您成为一个提供者不同-使用Servlet API需要您实现Servlet接口。

为什么您要问一系列OSGi问题,然后自己立即回答这些问题?@NeilBartlett,只是想帮助别人回答我花了一大把时间才回答的问题是时候弄清楚了,或者是不直观的、记录不完整的。@NeilBartlett,这对我也有帮助,因为当我将来有完全相同的问题时,我可以用谷歌搜索它。为什么你要问一系列OSGi问题,然后立即自己回答?@NeilBartlett,只是想用我也有的问题来帮助别人k很长一段时间没有弄清楚,或者是缺乏直观性和文档记录。@NeilBartlett,这对我也有帮助,因为当我将来有完全相同的问题时,我可以用谷歌搜索它。缺少对定义这个问题的规范章节的参考。指向死处女座项目的链接并不完全权威。缺少对具体问题的参考关于死亡处女座项目的链接并不完全权威。