импортировать пакет без редактирования файла манифеста в org.restlet - PullRequest
0 голосов
/ 08 декабря 2011

Я использую Restlet для связи между моими клиентами (JSE2) и моим сервером (GAE).

Клиенты основаны на OSGi.

У меня есть общий пакет, содержащий мои интерфейсы ресурсов, и пакет, содержащий код для переноса ресурса в ClientResource.Но пакет org.restlet не импортирует ни один из этих пакетов.Я думаю, что это не правильное решение для редактирования манифеста пакета org.restlet и импорта общего пакета вручную.Также это очень статичное решение.

Есть ли лучший способ импортировать эти интерфейсы, чтобы я мог обернуть их в Restlet ClientResource?

Это исключение, в котором я имею дело:

java.lang.ClassNotFoundException: *** Class 'crm.resources.server.restlet.ContactResource' was not found because bundle org.restlet [3] does not import 'crm.resources.server.restlet' even though bundle crm.shared.resources.server [4] does export it. To resolve this issue, add an import for 'crm.resources.server.restlet' to bundle org.restlet [3]. ***

Обновление : редактировать манифест бесполезно, поскольку общий пакет использует некоторые операции импорта из организации.рестлет расслоение.Поэтому при попытке запуска пакета org.restlet импортированные пакеты из общего пакета отсутствуют.Если вы сначала запустите общий пакет, он пропустит пакеты из org.restlet.(Надеюсь, я объясню это ясно)

1 Ответ

1 голос
/ 01 апреля 2013

Я понимаю вашу проблему.Лучшее решение, которое я придумал, это добавить DynamicImport-Bundle: * в org.restlet MANIFEST-File (пока что 2.1.2).По крайней мере, это предотвращает циклические зависимости и не вынуждает вас вручную корректировать импорт, когда вы меняете приложение для рестлета.

См. Также: https://github.com/restlet/restlet-framework-java/issues/6

С уважением, Саймон

...