2013-12-19 2 views
0

Hibernate использует Antlr (3.5.2 работает, по-видимому), и я использую Hibernate (поэтому также Antlr в среде OSGi). Я обернул antlr-complete-3.5.2-SNAPSHOT.jar в качестве пакета OSGi, но я экспортировал ВСЕ пакеты в комплекте. Вопрос прост. Мне нужно знать, какие пакеты Java в этом пакете являются частными и которые являются частью общедоступного API Antlr. На данный момент, я экспортирует все под:Обертка Antlr 3.5.2 для OSGi

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

Это, вероятно, экспортирует слишком много. Спасибо за любую помощь.

ответ

0

В общем, когда OSGifying не-OSGi JARs, экспорт всех пакетов - это лучшее, что вы можете сделать.

Предположим, вы можете ограничить экспорт ANTLR, не нарушая спящий режим, это может по-прежнему прерывать другой клиент ANTLR, который использует один из пакетов, которые вы не экспортировали.

Vanilla Java просто не поддерживает концепцию частных пакетов.

Смежные вопросы