Osgi 如何定义最低JRE要求(1.5或更高)?

Osgi 如何定义最低JRE要求(1.5或更高)?,osgi,compatibility,java,Osgi,Compatibility,Java,OSGi清单条目“bundleRequiredExecutionEnvironment”可以用来指定JRE,在JRE上可以使用给定的bundle,但这似乎是一个严格的检查,如果我指定值“J2SE-1.5”,bundle就不能在1.6或更高版本上使用。这似乎很奇怪;我的假设是,这只是基线,而不是精确匹配 但是,如果属性的语义完全匹配,那么如何表示“1.5或更高”?或者这可能是有问题的OSGi容器错误地解释了需求吗?看来您必须指定所有有效的JRE环境 Bundle-RequiredExecution

OSGi清单条目“bundleRequiredExecutionEnvironment”可以用来指定JRE,在JRE上可以使用给定的bundle,但这似乎是一个严格的检查,如果我指定值“J2SE-1.5”,bundle就不能在1.6或更高版本上使用。这似乎很奇怪;我的假设是,这只是基线,而不是精确匹配


但是,如果属性的语义完全匹配,那么如何表示“1.5或更高”?或者这可能是有问题的OSGi容器错误地解释了需求吗?

看来您必须指定所有有效的JRE环境

Bundle-RequiredExecutionEnvironment: J2SE-1.5, JavaSE-1.6

当Java1.7可用时,您还必须添加它。

这是有道理的。我将查看是否可以找到一个网页来确认这一点(定义多项选择的能力)好的:是的,第4.5节确实确认此属性允许多个值,并且行为匹配以查看环境是否可用。我想现在我会在其中添加JavaSE-1.6,再添加一次JavaSE-1.7