Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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_Maven_Osgi - Fatal编程技术网

Java 从osgi捆绑包导出和导入相同的包

Java 从osgi捆绑包导出和导入相同的包,java,maven,osgi,Java,Maven,Osgi,我在osgi bundleBundle1中有一个类org.foo.Customer,还有另一个类 org.foo.Subscriber位于同一osgi环境中的另一个osgi bundleBundle2中。Bundle1导出包org.foo 是否可以通过Bundle1导入org.foo包Bundle2。由于在Bundle1的清单文件中的导出和导入中指定了相同的包,因此运行时是否会发生冲突 拆分包在OSGi中。如果您拥有这些包,您应该重命名一个或两个包,或者将拆分的包合并为一个包 Bundle2可以

我在osgi bundle
Bundle1
中有一个类
org.foo.Customer
,还有另一个类
org.foo.Subscriber
位于同一osgi环境中的另一个osgi bundle
Bundle2
中。Bundle1导出包org.foo

是否可以通过
Bundle1
导入org.foo包
Bundle2
。由于在
Bundle1
的清单文件中的导出和导入中指定了相同的包,因此运行时是否会发生冲突

拆分包在OSGi中。如果您拥有这些包,您应该重命名一个或两个包,或者将拆分的包合并为一个包

Bundle2可以导入拆分包,但是Bundle2的类加载器只能看到Bundle1中的类,而不能看到Bundle2内部的类


您可以将其中一个bundle转换为另一个bundle,这会使它们使用相同的类加载器。这只需要更改片段捆绑包的清单,如果由于某种原因无法加入捆绑包或更改包名,则可以选择此选项。

到片段页面的链接不再可用。有关此的任何更新,请/用指向OSGi规范中有关片段部分的链接替换死的“片段”链接。