Каков предпочтительный способ загрузки DLL на плагин Eclipse RCP? - PullRequest
3 голосов
/ 28 августа 2009

У меня есть плагин Eclipse RCP, который требует DLL.

Каков рекомендуемый лучший способ добавить ссылку на DLL в MANIFEST? Где должна находиться DLL, какое имя каталога рекомендуется?

Я читал противоречивые практики. Некоторые просят вас создать папку с архитектурой и типом процессора, некоторые просят установить некоторые фильтры платформы в манифесте ....

Ответы [ 3 ]

2 голосов
/ 08 сентября 2009

Лучший способ в приложении Eclipse - использовать фрагменты плагина. Стандартный проект eclipse (с dll) будет иметь несколько фрагментов для всех поддерживаемых платформ. Фрагменты будут активированы только в том случае, если целевые платформы (указаны в фильтре платформ).

Из документации затмения (поставляется со стандартной установкой затмения)

Фильтр платформы - это допустимая строка LDAP, которая должна быть установлена ​​в true в работающей системе, чтобы плагин работал. Например, следующий фильтр указывает, что плагин предназначен для работы только на платформах с оконной системой win32: Eclipse-PlatformFilter: (ws = win32). Если пользователь пытается запустить Eclipse на платформе, которая не соответствует этому требованию, плагин будет автоматически игнорироваться средой выполнения.

1 голос
/ 09 сентября 2009

Поскольку Eclipse RCP основан на OSGi, вы также можете проверить документацию OSGi 4.1 по работе с собственным кодом. Я считаю, что ребята из Eclipse начали рекомендовать подход OSGi, но я не могу вспомнить, где я увидел эту рекомендацию.

Я использовал предложение Малакера с использованием фрагментов и фильтров. Фактическое расположение внутри фрагмента / пакета не имеет значения, хотя я бы создал отдельный каталог lib, если бы у меня было более одной библиотеки.

Спецификация OSGi 4.1 здесь .

0 голосов
/ 29 августа 2009

Я бы последовал примеру фрагмента org.eclipse.swt.win32 и связал их в корне банки.

Для справки есть раздел Документация примеров SWT , в котором описано, как запускать примеры автономно.

...