Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OSGi平台版本之间的兼容性建议_Java_Osgi - Fatal编程技术网

Java OSGi平台版本之间的兼容性建议

Java OSGi平台版本之间的兼容性建议,java,osgi,Java,Osgi,假设这是可能的,那么您有什么建议可以使捆绑包在不同的平台版本之间兼容?特别是在R3和R4之间 更新我的要求: 我们的想法是为目前运行OSGi R3容器的嵌入式设备开发一个web界面,但很快就可以升级到R4,我们对此没有太多控制权。web界面将使用OSGiHTTP服务进行部署。我认为有三种选择: 使用R4开发应用程序,因为我已经看到一些web工具包不适用于旧版本。我认为设备提供商可以在R4上部署当前的R3捆绑包,而无需付出太多努力,但不确定。 使用R3实现web界面,而不使用现代web工具包的优点

假设这是可能的,那么您有什么建议可以使捆绑包在不同的平台版本之间兼容?特别是在R3和R4之间

更新我的要求:

我们的想法是为目前运行OSGi R3容器的嵌入式设备开发一个web界面,但很快就可以升级到R4,我们对此没有太多控制权。web界面将使用OSGiHTTP服务进行部署。我认为有三种选择:

使用R4开发应用程序,因为我已经看到一些web工具包不适用于旧版本。我认为设备提供商可以在R4上部署当前的R3捆绑包,而无需付出太多努力,但不确定。 使用R3实现web界面,而不使用现代web工具包的优点,或者向我推荐一个。 使用一些R4捆绑包,但以某种方式独立发布,这样我们就可以最终将其部署到R3或R4上。
一般来说,R4主要为包清单引入了新的头,而R3实现忽略了这一点。导入/导出行为中存在一些语义差异,但这些差异可能并不重要,具体取决于您正在制作的包的类型。您可以使用的一种策略是简单地创建一个R3包,它在R4框架上仍然可以正常工作。当然,在这种情况下,你会错过一些新的R4功能

后续行动:

从HttpService的角度来看,从R3到R4.2没有大的变化。前者使用HttpService的1.1规范,后者使用1.2规范。区别很小,规范使用API文档中的@since标记来解释何时引入了哪些方法

R3包与R4上的包一样工作,这是完全正确的。请记住,实际上,在R4中运行R3包时可能会发现bug。当R4刚刚发布时,我将一个大项目从R3转移到了R4,我们遇到了很多小问题,都是我们自己的错,这导致捆绑包在R4上失败,而它们却在R3上愉快地运行。这些主要与R4实现有关,一般来说,当涉及到委托给其父类加载器时,R4实现更加严格。确保在要部署包的框架上测试包


我想知道,您看到的web工具包在哪些方面不适用于R3?他们是否依赖于HttpService 1.2?我想自己在R3上运行1.2或者将其连接到1.1实现并不困难。

一般来说,R4主要为捆绑清单引入了新的头,而R3实现忽略了这些头。导入/导出行为中存在一些语义差异,但这些差异可能并不重要,具体取决于您正在制作的包的类型。您可以使用的一种策略是简单地创建一个R3包,它在R4框架上仍然可以正常工作。当然,在这种情况下,你会错过一些新的R4功能

后续行动:

从HttpService的角度来看,从R3到R4.2没有大的变化。前者使用HttpService的1.1规范,后者使用1.2规范。区别很小,规范使用API文档中的@since标记来解释何时引入了哪些方法

R3包与R4上的包一样工作,这是完全正确的。请记住,实际上,在R4中运行R3包时可能会发现bug。当R4刚刚发布时,我将一个大项目从R3转移到了R4,我们遇到了很多小问题,都是我们自己的错,这导致捆绑包在R4上失败,而它们却在R3上愉快地运行。这些主要与R4实现有关,一般来说,当涉及到委托给其父类加载器时,R4实现更加严格。确保在要部署包的框架上测试包


我想知道,您看到的web工具包在哪些方面不适用于R3?他们是否依赖于HttpService 1.2?我想自己在R3上运行1.2并不难,也不难将其连接到1.1实现。

我从R1开始就开发了捆绑包,但它们仍然在R4框架上运行。向后兼容性是规范工作的一个要点。但是正如Marcel所指出的,关于您的需求的更多细节会有所帮助

更新 是否有不能使用R4的业务或技术要求?好的,如果您只是使用标准的HttpService实现一个基于servlet的服务,那么在将捆绑包移动到R4框架时,您不应该期望出现任何问题。但是,您可以并且应该开始使用R4清单属性。它们在R3中被忽略,但在解决R4和更高版本中的依赖关系时非常有用


如果您仅限于R3框架,我会定期在R4框架上并行进行测试运行,以确保一切正常。一点也不费劲。

我从R1开始就开发了捆绑包,它们仍然在R4框架上运行。向后兼容性是规范工作的一个要点。但正如马塞尔指出的,关于y的更多细节 我们的要求会有帮助

更新 是否有不能使用R4的业务或技术要求?好的,如果您只是使用标准的HttpService实现一个基于servlet的服务,那么在将捆绑包移动到R4框架时,您不应该期望出现任何问题。但是,您可以并且应该开始使用R4清单属性。它们在R3中被忽略,但在解决R4和更高版本中的依赖关系时非常有用


如果您仅限于R3框架,我会定期在R4框架上并行进行测试运行,以确保一切正常。一点也不费劲。

我记得在可选依赖项或类似的问题上有一些问题,好像R3不支持它们。我记得在可选依赖项或类似的问题上有一些问题,好像R3不支持它们。好的,我将尝试保持捆绑包与两个版本兼容。好极了:值得努力。好的,我将尝试保持捆绑包与两个版本兼容。好极了:值得努力。