我使用sbt处理一个使用c++代码的Scala项目。编译后,此c++代码将通过使用jna的Java代码导入Scala。
现在,Java包装器是手动编写的,我喜欢将其自动化。我已经找到了能做到这一点的jnaerator,但我不知道该如何在sbt中使用它。
我看到两种一般的做法:
java -jar jnaerator ...,但我不知道如何在sbt中设置这样的命令行任务?另外,我需要知道要遵循的典型项目结构:在哪里输出jna生成的代码?发布于 2015-06-10 15:39:36
这可能需要一些迭代,直到我们得到它做您所需要的。
对于第一种方法,下面是如何在sbt上运行自定义系统命令(基本上使用Scala代码解决这个问题)。将以下内容添加到build.sbt文件中:
lazy val runJnaerator= taskKey[Unit]("This task generates libraries from native code")
runJnaerator := {
import sys.process._
Seq("java" , "-jar", "jnaerator", "..." ).!
}执行:
>sbt runJnaerator现在的问题是,您需要这些文件到哪里去?最后,如何调用所有内容?
https://stackoverflow.com/questions/30752045
复制相似问题