Как добавить внешний jar-файл в приложение eclipse rcp? - PullRequest
5 голосов
/ 04 августа 2009

Я попытался добавить jar-файл apache vfs в качестве зависимости времени выполнения. Даже если он выдает следующую ошибку:

java.lang.ClassNotFoundException: org.apache.commons.vfs.VFS в org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal (BundleLoader.java:489) в org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:405) в org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:393) в org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:105) в java.lang.ClassLoader.loadClass (ClassLoader.java:251) в java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) at file_explorer.View.setInput (View.java:295) at file_explorer.View.initialize (View.java:130)

Как я могу решить эту проблему, заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 04 августа 2009

Лучший способ включить внешний Jar в приложение Eclipse RCP - это упаковать его как плагин, а затем использовать классическую зависимость от плагина.

Просто создайте новый плагин, содержащий только ваш Jar. Затем на вкладке сборки редактора манифеста добавьте свой jar-файл в classpath (внизу справа) и экспортируйте все его пакеты на этой же вкладке времени выполнения. Также убедитесь, что на вкладке «Сборка» установлен флажок.

Тем не менее, вы должны иметь возможность использовать jar в исходном коде данного плагина, если только добавите его в путь к классам, как я уже упоминал ранее.

Поскольку некоторые другие ваши плагины могут быть заинтересованы в использовании vfs jar и для разделения проблем, я думаю, вы должны обернуть его в свой собственный плагин

2 голосов
/ 26 мая 2012

Если вы ищете добавление необходимых jar-файлов в classpath вашего проекта. Добавьте необходимые файлы в каталог lib в структуре проекта. Затем из проекта перейдите на вкладку «run time» в plugin.xml и добавьте необходимые jar-файлы из каталог lib в путь к классам проекта.

2 голосов
/ 14 августа 2009

Самый простой способ - найти пакет в существующем репозитории пакетов OSGI.

http://bundles.osgi.org/Main/Repository
http://www.springsource.com/repository/app/
http://www.eclipse.org/orbit/
http://www.knopflerfish.org/repo/index.html

репозиторий springsource содержит пакет Apache VFS

Затем вам нужно добавить пакет на целевую платформу (или просто скопировать его в папку dropins)

Чтобы правильно установить пакет в более новую версию eclipse, вы должны использовать существующий репозиторий p2 и установить пакет из репозитория p2 на платформу времени выполнения. Есть два способа: вы можете использовать существующий (например, орбиту p2-репо), или вы можете создать свой собственный, используя p2 publisher, как описано в https://docs.sonatype.org/display/TYCHO/How+to+make+existing+OSGi+bundles+consumable+by+Tycho

1 голос
/ 14 ноября 2016

Eclipse RCP - это среда OSGi, которая расширяет модель зависимостей Java, поэтому вы не можете просто взять файл jar и надеяться, что он работает. Чтобы использовать внешний jar-файл, вы должны сначала создать его для плагина, который может помочь p2-maven-plugin .

Когда плагин готов, вы должны установить плагин и добавить его в MANIFEST.MF. Затем перезапустите Eclipse, чтобы плагин заработал.

Более простой способ, вам не нужно устанавливать плагин, просто следуйте (но соберите флягу):

  1. перейти на вкладку plugin.xml -> Runtime;
  2. нажмите Add в разделе classpath, затем добавьте плагин в classpath;
  3. убедитесь, что в текстовой области есть путь ., в противном случае New it.
...