2014-02-25 5 views
1

У меня есть проект, который должен установить $LD_LIBRARY_PATH, чтобы включить некоторые собственные общие объекты. Я считаю, что все, что мне нужно сделать, это убедиться, что JVM запущен с этой переменной окружения, установленной в место на пути моего проекта (lib/linux-x86-64).Как вы устанавливаете bashScriptExtraDefines?

Я полагаю, что все, что мне действительно нужно сделать, это убедиться, что bashScriptExtraDefines добавьте запись export LD_LIBRARY_PATH=$lib_dir/linux-x86-64, однако я не могу понять, как правильно ее установить. Я считаю, что это проблема с SBT 0.13, которая не может видеть эти настройки до тех пор, пока они не будут скомпилированы, но должно быть способ сделать это.

Я пытался просто делать следующее в моем .sbt файле:

bashScriptExtraDefines += "export LD_LIBRARY_PATH=$lib_dir/linux-x86-64" 

и я попытался изменить настройки моего проекта в Build.scala файл следующим образом:

lazy val root = Project("my-project",file("."),Project.defaultSettings ++ Seq(bashScriptExtraDefines += "export LD_LIBRARY_PATH=$lib_dir/linux-x86-64")) 

Ни один из методов работы правильно.

ответ

1

Я узнал, что этот параметр недоступен в регулярной области видимости, поскольку он, по-видимому, ограничен областью Plugin. Способ обойти это - путем доступа к нему из объекта NativePackagerKeys, который экспортирует плагин. В моем файле sbt следующие работы:

NativePackagerKeys.bashScriptExtraDefines += "export $LD_LIBRARY_PATH=$lib_dir/linux-x86-64" 
Смежные вопросы