如何很好地将各种SBT任务与本地库(例如JOGL,LWGL或JCuda)集成?具体而言,
有没有一种推荐的方式来在
run
任务中包含本地库? SBT邮件列表上的讨论提出了以下几种可能性:- 修改
JavaOptions
以包括-Djava.library.path=<path to native libraries>
,然后修改run
任务以分叉JVM。(参见这个插件作为示例。) - 使用SBT
initialize
设置运行调用System.setProperty(...)
配置java.library.path
的代码。同样,run
必须分叉。 - 在启动SBT之前将本地库放在类路径上。
最后一种方法的优点是
run
不需要分叉,但缺点是配置必须在SBT之外进行。- 修改
我可以自动在sbteclipse插件生成的Eclipse项目中包含本地库吗?可以在后处理步骤中重写
.project
文件。有没有示例代码?是否有更好的方法?本地库能否包含在由插件生成的可运行Jar中,例如sbt-assembly、sbt-onejar或sbt-proguard?
我认为SBT没有直接的本地库设置。如果有这样的设置,那么上述任务是否可以透明地处理本地库?