标签: scala sbt
javah用于从@native方法生成C标头。它在编译的类文件上运行,因此它需要一个类路径作为参数。出于这个原因,让javah任务取决于fullClasspath in Compile似乎是明智的。
javah
@native
fullClasspath
in Compile
我面临的问题是,为了构建本机库,需要生成的头文件,本机库需要是一个资源。但是,因为它是一种资源,它将被包含在fullClasspath in Compile中,这会导致循环依赖。
fullClasspath in Compile
SBT是否有包含所有.class个文件但排除资源的类路径密钥?
.class
答案 0 :(得分:1)
我刚刚发现了sbt-jni,这是一个非常有趣的新SBT插件,它简化了与SBT的JNI合作。
在阅读一些源代码时,我偶然发现了 this line ,这似乎是指你所面临的问题。如果我理解正确,sbt-jni中的解决方法是合并dependencyClasspath in Compile,compile in Compile和classDirectory in Compile,而不是使用fullClasspath in Compile。我不确定这是否会导致包含所有.class文件的类路径,但也许类似的东西也适用于你。
dependencyClasspath in Compile
compile in Compile
classDirectory in Compile