UnsatisfiedLinkError con biblioteca nativa bajo sbt
Estoy usando sbt 0.13 y tengo problemas al usar elleveldbjni biblioteca nativa bajo sbt (incluso después deproblema # 358 ha sido resuelto). UNAproblema similar ya se ha informado de que sbt 0.13 debería proporcionar una solución pero parece que no lo hace. Así que estoy compartiendo mis observaciones aquí.
Estoy recibiendo unUnsatisfiedLinkError
Con la siguiente aplicación de ejemplo.
build.sbt
name := "example"
version := "0.1"
scalaVersion := "2.10.2"
libraryDependencies += "org.fusesource.leveldbjni" % "leveldbjni-all" % "1.7"
construir.propiedades
sbt.version=0.13.0
Ejemplo.scala
import org.fusesource.leveldbjni.internal._
object Example extends App {
NativeDB.LIBRARY.load() // loading succeeds
new NativeOptions() // UnsatisfiedLinkError under sbt
}
Estoy usando Oracle JDK 1.7 y OS X 10.8.5. Ejecutando el ejemplo conrun-main Example
bajo sbt da
[error] (run-main) java.lang.UnsatisfiedLinkError: org.fusesource.leveldbjni.internal.NativeOptions.init()V
mientras que ejecutarlo con
java -cp scala-library.jar:example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example
solo funciona bien La aplicación incluso se ejecuta con éxito cuando Scala está en la ruta de inicio:
java -Xbootclasspath/a:scala-library.jar -cp example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example
Cualquier idea de por qué hay unaUnsatisfiedLinkError
solo bajo sbt?