gpt4 book ai didi

java - 如何使用 Eclipse P2 处理 Java 提供的包

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:40 25 4
gpt4 key购买 nike

我得到了一些二进制形式的 OSGi 包,它们声明了对 Java 本身提供的“org.ietf.jgss”等包的依赖关系。 P2 检测到这些依赖项,当我稍后尝试使用 P2 Controller 应用程序安装该产品时,安装失败,因为没有 bundle 提供这些软件包。但如果我使用 P2 产品版本,我会得到一个可以使用的完整安装产品。

我的问题是我不想创建产品文件并针对应用程序的每个变体进行构建。因此尝试了复制所有 P2 存储库的方法,以便使用 P2 Controller 在目标系统上安装产品。

那么,我如何处理对 Java 提供的包的依赖关系,以及如何“说服”P2 忽略这些包(如果它们是由 Java 本身提供的)。

感谢您的帮助。

最佳答案

Java 提供的包,或者更确切地说,OSGi 所称的“执行环境”,根据定义位于以 java.* 开头的包中,不需要显式导入语句。

如果您的虚拟机提供了不以 java.* 开头的其他包,您可以通过系统 bundle 使它们可用(因此框架使它们可用,并且可以解析这些包的显式导入),或者使用引导委托(delegate)(这意味着即使没有显式导入,这些包也将神奇地可用)。

我对你的第一句话有点困惑。如果一个bundle声明了对另一个bundle的依赖,那么这个bundle如何由Java本身提供,因为JVM不提供任何bundle?

关于java - 如何使用 Eclipse P2 处理 Java 提供的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2341180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com