Переменные пути сборки собственной библиотеки в Eclipse

У меня есть общие проекты eclipse, которые используют переменную пути сборки в качестве относительного местоположения для зависимостей jar. Таким образом, в пути сборки они отображаются как VARIABLENAME/subdirectory/blah.jar. Все, что нужно сделать разработчикам, — это определить одну переменную в своей рабочей области, и все пути сборки проектов будут работать.

Проблема в том, что для некоторых из этих банок также требуется установить «Местоположение собственной библиотеки». Библиотеки DLL обычно находятся в том же месте, что и банка, но я не могу найти способ использовать VARIABLENAME для ссылки на расположение библиотек dll. Все зависит от этой переменной, разработчикам нужно установить только одну переменную, вместо того, чтобы создавать огромное определение пользовательской библиотеки.


person insipid    schedule 25.01.2011    source источник


Ответы (1)


В конфигурациях запуска ваших проектов вы всегда можете (при условии, что конфигурация запуска/отладки типа Java-приложения) на вкладке аргументов вы всегда можете добавить строку в нижнюю текстовую область (vmargs)

-Djava.library.path=ИМЯ ПЕРЕМЕННОЙ/подкаталог

предполагая, что именно здесь находятся ваши библиотеки JNI. VARIABLENAME может быть определена через «variables...» (либо как env_var, если вы также определяете ее как переменную среды, либо переопределяете переменную «edit...»).

person Alain Pannetier    schedule 25.01.2011
comment
+1 Я рассмотрел этот подход, я волновался, что eclipse уже может использовать java.library.path или что-то в этом роде, и что таким образом я вызову больше проблем. Тогда я попробую, другой подход, который я рассматривал, - это шаг сборки (муравей), скопирующий их в рабочую область или что-то в этом роде. - person insipid; 26.01.2011
comment
eclipse имеет собственный способ использования системного свойства java.library.path. Один из доступных способов — отредактировать eclipse.ini и вставить настройку после строки -vmargs. - person Alain Pannetier; 26.01.2011
comment
Принимая ответ, разработчики уже определили env_var, так что это кажется моим лучшим вариантом. - person insipid; 26.01.2011