Как вы устанавливаете bashScriptExtraDefines?
У меня есть проект, который нужно установить $LD_LIBRARY_PATH
включить некоторые родные общие объекты. Я считаю, что все, что мне нужно сделать, это убедиться, что JVM запущена с этой переменной среды, установленной в путь внутри моего проекта (lib/linux-x86-64
).
Я считаю, что все, что мне действительно нужно сделать, это убедиться, что 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 ответ
Я узнал, что к этой настройке нельзя получить доступ в обычной области видимости, поскольку она, похоже, ограничена областью действия плагина. Способ обойти это - получить к нему доступ из объекта NativePackagerKeys, который экспортирует плагин. Следующее работает в моем файле SBT:
NativePackagerKeys.bashScriptExtraDefines += "export $LD_LIBRARY_PATH=$lib_dir/linux-x86-64"