Наверное, я что-то неправильно понимаю.
Самой библиотеки с классом ModuleService нет? В SDK же вроде BundleServiceAPI.jar есть.
При сборке бандла не нужно включать библиотеки, к которым есть доступ через импорты. Они нужны только при компиляции.
"Установить модуль" становится доступной только для модулей, описанных в ncalayer.der. То есть нужно сначала его описать в этом файле. Для локального теста:
- вы передаете просто сертификат подписи кода (закрытый ключ не нужен!) и Bundle-SymbolicName
- они заносятся в ncalayer.der и файл передается вам
- вы заменяете у себя локальный ncalayer.der и кладете свой jar в папку bundles
- NCALayer при запуске устанавливает бандл из папки
- если все соответствует описанию дает право на запуск.
Тут есть 2 вещи.
1. ncalayer.der заменяется каждый раз при запуске версией из сервера. для этого есть 2 варианта:
а) ncalayer.der подписывается в целях тестирования с неправильной ссылкой для обновления, чтобы предотвратить замену
б) ncalayer.der будет размещаться на сервере и на время тестирования у модуля будет атрибут hidden, чтобы его не было видно в управлении модулями ncalayer, чтобы не путать текущих пользователей.
Вариант а) предпочтительнее. Не забываем, что эта версия файла только для тестовых окружений. Если нужно вернуть работоспособность обновления, то просто удаляете ncalayer.der. При следующем запуске NCALayer вытащит свою старую версию, потом скачает новую.
2. NCALayer ставит только новую версию бандла из папки bundles, иначе просто игнорирует и удаляет. При тестировании накладно постоянно повышать версию, поэтому при изменении бандла предварительно надо из папки ncalayer-cache удалить свой бандл (папка bundle{порядковый-номер} , обычно последний).
Сейчас одна система уже тестирует свой бандл на NCALayer. Мы для них сделали локальную версию ncalayer.der