【问题标题】:How do I import package from Java project to OSGi Bundle project?如何将包从 Java 项目导入 OSGi Bundle 项目?
【发布时间】:2012-04-17 09:36:51
【问题描述】:

我有一个大型 Java EE 应用程序和一个简单的 OSGi Bundle 应用程序。我需要在我的包中使用来自这个 Java EE 应用程序的 Java 类。我该怎么做?

我尝试将 Java EE 应用程序作为“必需项目”包含在我的 Bundle 的 Java 构建路径中,但它不适用于我。

【问题讨论】:

    标签: import osgi bundle


    【解决方案1】:

    假设您只需要将 Java EE 类作为库,您可以将它们打包为包中的 jar 并使用 Bundle-ClassPath 指令。

    【讨论】:

    • Bundle-Classpath 仅在 OSGi 中有效,这使得当您在其他环境中使用 jar 时它无法工作。
    【解决方案2】:

    查看 bndtools(或 maven bundle 插件)。使用 bnd 包含来自其他项目的类是微不足道的。

    因此,在 bndtools 中,您只需在构建路径中添加 Java EE 应用程序,然后将 Private-Package 指令与您希望包含在包中的包名一起使用,允许使用通配符。

    您还可以创建一个包含所有共享类的包的项目。然后将此捆绑包添加到 Java EE 应用程序中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-12
      • 2023-03-15
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多