Как вы устанавливаете 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" 
Другие вопросы по тегам