Могу ли я обновить проект плагина Eclipse, который является просто оберткой вокруг банки? - PullRequest
0 голосов
/ 16 октября 2010

Привет, у меня есть проект Java, который я экспортирую как банку.Этот проект Java также использует JNI.Пока что единственный метод, который я смог найти, чтобы использовать этот jar в плагине Eclipse, - это обернуть его в другой проект плагина eclipse и добавить этот плагин jar-обертку к зависимостям моего реального плагина.Я боролся с путями Eclipse и настройками зависимостей в течение нескольких дней, и этот метод является единственным, который работает для меня на данный момент.Тем не менее, это не очень практично, так как, когда я изменяю свой java-код на основе JNI, я могу просто создать новый jar-файл, но чтобы подключить этот jar-файл к реальному плагину, мне приходится каждый раз заново создавать плагин jar-оболочки.То есть я удаляю проект плагина jar wrapper со всем на диске и заново создаю его с тем же именем, указывая на обновленный jar.Я также должен удалить ссылку на этот проект из фактического проекта плагина и добавить снова (возможно, это стало умнее в последнее время, но я не проверял это)

Это отнимает много времени, и я не могу добавитьэтот плагин-обертка проект для SVN либо, так как он создается каждый раз с нуля.

Если бы я мог просто обновить проект плагина jar-wrapping eclipse, указав на новую версию jar, это решило бы мою проблему, и я мог бы зафиксировать проект в svn после каждого обновления.

Есть ли какой-нибудь способ, который вы можете придумать, который может помочь мне беспрепятственно запустить этот процесс?

С наилучшими пожеланиями Seref

1 Ответ

1 голос
/ 16 октября 2010

Метод Equinox-only (то есть нестандартный OSGi) - использование внешних библиотек в комплекте OSGi без их физического переноса - это объединение по ссылке: вам все еще нужен плагин-оболочка, но он не содержит саму упакованную библиотеку, ассылка в заголовке Bundle-Classpath манифеста пакета с синтаксисом, подобным следующему:

Bundle-Classpath: external:/path/to/your/lib.jar

Во время разработки это довольно удобно и избавляет от необходимости заново создавать плагин оболочки при каждом обновлении библиотеки с оболочкой.Во время развертывания вам придется либо установить библиотеку вместе с продуктом, либо использовать традиционный плагин-оболочку (тот, который содержит реальную библиотеку).Вы также можете использовать тот же плагин оболочки для различных случаев использования, но измените Bundle-Classpath с external:/stuff/lib.jar на libs/lib.jar в зависимости от того, хотите ли вы использовать упакованную или внешнюю библиотеку.

(Большинствоэто взято из книги OSGi и Equinox - Создание высокомодульных систем Java , которая мне не очень нравится, но которая, тем не менее, содержит полезные сведения о Equinox (реализация OSGi в Eclipse) и системе сборки PDE.)

...