OSGI 导出包
OSGI export package
我需要为我的项目导入包 A。但是,无法解决导入问题。所以我从我需要的包中查看了导出包文件。
我正在使用 Equinox、spring 和 maven。以下所有代码都在 pom.xml 文件中。
// E.D.C.B.A
!E.D.C.B.F*
!E.D.C.B.G*
!E.D.C.B.Z*
E.D.C.B*,
!*
这个问题可以缩小为两个简单的问题。
E.D.C.B*
是否包括E.D.C.B
?
!*
是什么意思?这是否意味着不导出包或不导出包期望指定那些?
根据我的理解,我认为上面的代码意味着不导出任何包,除非指定了这些包。除了 E.D.C.B.F*
、E.D.C.B.G*
和 E.D.C.B.G*
.
中的包外,E.D.C.B*
中的所有包(如 E.D.C.B
和 E.D.C.Bbdfd
)都是允许的
回答您的问题:
我假设您正在谈论来自 Apache Felix maven-bundle-plugin
的 Export-Package
指令。如果这不正确,请更具体。
- 是的,
E.D.C.B*
将导出包 E.D.C.B
和 sub-packages。
!*
如果您之前已经指定了要导出的包,通常不需要,但通常意味着:not (any package)
你最终的理解是正确的。
另请注意,指令已处理 in-order,因此首先指定的排除或包含优先于后续声明,这就是为什么 !*
实际上没有任何意义。
我需要为我的项目导入包 A。但是,无法解决导入问题。所以我从我需要的包中查看了导出包文件。
我正在使用 Equinox、spring 和 maven。以下所有代码都在 pom.xml 文件中。
// E.D.C.B.A
!E.D.C.B.F*
!E.D.C.B.G*
!E.D.C.B.Z*
E.D.C.B*,
!*
这个问题可以缩小为两个简单的问题。
E.D.C.B*
是否包括E.D.C.B
?!*
是什么意思?这是否意味着不导出包或不导出包期望指定那些?
根据我的理解,我认为上面的代码意味着不导出任何包,除非指定了这些包。除了 E.D.C.B.F*
、E.D.C.B.G*
和 E.D.C.B.G*
.
E.D.C.B*
中的所有包(如 E.D.C.B
和 E.D.C.Bbdfd
)都是允许的
回答您的问题:
我假设您正在谈论来自 Apache Felix maven-bundle-plugin
的 Export-Package
指令。如果这不正确,请更具体。
- 是的,
E.D.C.B*
将导出包E.D.C.B
和 sub-packages。 !*
如果您之前已经指定了要导出的包,通常不需要,但通常意味着:not (any package)
你最终的理解是正确的。
另请注意,指令已处理 in-order,因此首先指定的排除或包含优先于后续声明,这就是为什么 !*
实际上没有任何意义。