1

我有一个项目需要设置$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"))

这两种方法都不能正常工作。

4

1 回答 1

1

我了解到此设置无法在常规范围内访问,因为它似乎仅限于插件的范围。解决这个问题的方法是从插件导出的 NativePackagerKeys 对象中访问它。以下在我的 sbt 文件中有效:

NativePackagerKeys.bashScriptExtraDefines += "export $LD_LIBRARY_PATH=$lib_dir/linux-x86-64" 
于 2014-02-25T20:31:03.553 回答