为OSGi包装Antlr 3.5.2

时间:2013-12-19 21:52:40

标签: osgi antlr antlr3

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.*

这可能是出口太多了。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

通常,在OSGifying非OSGi JAR时,导出所有包是最好的。

假设您可以在不破坏Hibernate的情况下限制ANTLR导出,这可能会破坏其他正好使用其中一个未导出的软件包的ANTLR客户端。

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