2013-12-19 64 views
0

Hibernate使用Antlr(3.5.2工程,顯然),我使用Hibernate(因此也在OSGi環境中使用Antlr)。我已經將antlr-complete-3.5.2-SNAPSHOT.jar封裝爲OSGi包,但我導出了包中的所有包。問題很簡單。我需要知道這個包中的哪些Java包是私有的,哪些是公共Antlr API的一部分。現在,我在出口下的一切 :包裝Antlr 3.5.2 for OSGi

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

這可能是出口太多。謝謝你的幫助。

回答

0

一般來說,當OSGifying非OSGi JAR時,導出所有包是最好的。

假設您可以在不中斷Hibernate的情況下限制ANTLR導出,這可能仍然會破壞其他正在使用您未導出的其中一個包的其他ANTLR客戶端。

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