OSGi片段:修补Eclipse插件中的bug

OSGi片段:修补Eclipse插件中的bug,osgi,patch,osgi-fragment,Osgi,Patch,Osgi Fragment,在听说OSGi片段后,我想知道: 我可以使用一个片段来注入一个补丁,也就是说,替换一个现有的,签名的包中的一个现有类吗 有文件说明如何做到这一点吗?答案是否定的 OSGi片段没有自己的类装入器,它们被视为主机的一部分。他们无法将新代码注入到替换现有类中。片段的常见用法是为不同的主机提供不同的实现。另一个需要其功能的包(由主机包导出)将不依赖于具体的实现 Bundle已经是OSGi的atom概念,如果您想修补某些东西,应该提供更新版本的版本。答案是否 OSGi片段没有自己的类装入器,它们被视为主机

在听说OSGi片段后,我想知道:

我可以使用一个片段来注入一个补丁,也就是说,替换一个现有的,签名的包中的一个现有类吗


有文件说明如何做到这一点吗?

答案是否定的

OSGi片段没有自己的类装入器,它们被视为主机的一部分。他们无法将新代码注入到替换现有类中。片段的常见用法是为不同的主机提供不同的实现。另一个需要其功能的包(由主机包导出)将不依赖于具体的实现


Bundle已经是OSGi的atom概念,如果您想修补某些东西,应该提供更新版本的版本。

答案是

OSGi片段没有自己的类装入器,它们被视为主机的一部分。他们无法将新代码注入到替换现有类中。片段的常见用法是为不同的主机提供不同的实现。另一个需要其功能的包(由主机包导出)将不依赖于具体的实现


Bundle已经是OSGi的atom概念,如果您想修补某些东西,应该提供它的更新版本。

我没有使用签名Bundle,但它们是让片段覆盖主机Bundle中的类的一种方法。但是,您需要提前对此进行计划

在主机包中定义包类路径,如下所示:

Bundle Classpath:jar不在host.jar;中

主机中不应存在此jar文件。然后,您的片段可以包含一个名为jar-not-in-host.jar的jar。附加片段时,jar-not-in-host.jar中的类将在主机包根目录中的类之前加载


我知道这不是很好,但它很有效。

我还没有使用签名包,但它们是一种让片段覆盖主机包中的类的方法。但是,您需要提前对此进行计划

在主机包中定义包类路径,如下所示:

Bundle Classpath:jar不在host.jar;中

主机中不应存在此jar文件。然后,您的片段可以包含一个名为jar-not-in-host.jar的jar。附加片段时,jar-not-in-host.jar中的类将在主机包根目录中的类之前加载

我知道不是很好,但它很有效。

:-(但这意味着我必须构建一个新功能…叹气:-)(但这意味着我必须构建一个新功能…叹气!)