我正在开发一个需要加载本机库的项目,到目前为止,所有开发仅限于Linux。为了run
我的项目,我可以简单地启用分叉和修改java.library.path
,如下所示:
javaOptions in run += "-Djava.library.path=some/common/path:lib/native/linux"
我的问题是:我如何以跨平台的方式做同样的事情,以便我可以与基于Windows的开发人员共享我的build.sbt。到目前为止,我还有三件事情无法解决:
"dir1" / "dir2"
这样的平台无关路径,但我不知道加入多个路径的跨平台方式(因为它在Linux上是:
而{ Windows上的{1}}。 ;
或 lib/native/linux
?lib/native/windows
- 是否可以追加?答案 0 :(得分:5)
由于您可以使用任何Scala代码,您当然可以
val folderName =
if (System.getProperty("os.name").startsWith("Windows")) "windows" else "linux"
val libPath = Seq("some/common/path", s"lib/native/$folderName").mkString(java.io.File.pathSeparator)
javaOptions in run += s"-Djava.library.path=$libPath"
虽然这并没有回答你的上一个问题。