Я разработал несколько пакетов с использованием OSGi Java Framework и Eclipse Indigo. Существует основной пакет, который зависит от других пакетов и в котором выполняется основная программа. Если я попытаюсь запустить все пакеты в Eclipse, все будет работать правильно, но если я сохраню каждый пакет как JAR и запускаю инфраструктуру OSGi в командной строке, я получу исключение NoClassDefFoundError
, когда я пытаюсь запустить основной пакет. Класс, который не может найти, - это зависимость. Остальные пакеты получают статус АКТИВНЫЙ, основной пакет только что РАЗРЕШЕН.
Я создал пакет со всеми библиотеками, которые я использую (соединитель mysql и т. Д.), И я импортирую этот пакет в каждый пакет, в котором мне нужны эти библиотеки. Я не знаю, лучший ли это способ добиться этого. Кроме того, я использую потоки в своем приложении, и некоторые из них используют методы из разных пакетов, может ли это быть источником проблемы?
Кто-нибудь знает, что я могу сделать? Мне также нужно установить пакеты в Apache Karaf, и я получил тот же результат. Это связано с начальным уровнем каждого пакета?