【问题标题】:Wrapping Antlr 3.5.2 for OSGi为 OSGi 包装 Antlr 3.5.2
【发布时间】:2013-12-21 03:14:47
【问题描述】:

Hibernate 使用 Antlr(显然是 3.5.2 有效),而我正在使用 Hibernate(因此在 OSGi 环境中也使用 Antlr)。我已将 antlr-complete-3.5.2-SNAPSHOT.jar 包装为 OSGi 包,但我导出了包中的所有包。问题很简单。我需要知道这个包中的哪些 Java 包是私有的,哪些是公共 Antlr API 的一部分。现在,我正在导出所有内容 下:

antlr.*;
org.antlr.*,
org.stringtemplate.v4.*

这可能是出口过多。感谢您的帮助。

【问题讨论】:

    标签: osgi antlr antlr3


    【解决方案1】:

    一般来说,在 OSG 化非 OSGi JAR 时,最好导出所有包。

    假设您可以在不破坏 Hibernate 的情况下限制 ANTLR 导出,这可能仍会破坏其他一些恰好使用您未导出的包之一的 ANTLR 客户端。

    Vanilla Java 根本不支持私有包的概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      相关资源
      最近更新 更多