UnsatisfiedLinkError com biblioteca nativa sob sbt
Estou usando sbt 0.13 e tenho problemas usando oleveldbjni biblioteca nativa sob sbt (mesmo depoisproblema # 358 foi resolvido). UMAproblema semelhante já foi relatado para o qual sbt 0,13 deve fornecer uma solução, mas parece que não. Então, estou compartilhando minhas observações aqui.
Estou recebendo umUnsatisfiedLinkError
com o seguinte aplicativo de exemplo.
build.sbt
name := "example"
version := "0.1"
scalaVersion := "2.10.2"
libraryDependencies += "org.fusesource.leveldbjni" % "leveldbjni-all" % "1.7"
build.properties
sbt.version=0.13.0
Example.scala
import org.fusesource.leveldbjni.internal._
object Example extends App {
NativeDB.LIBRARY.load() // loading succeeds
new NativeOptions() // UnsatisfiedLinkError under sbt
}
Estou usando o Oracle JDK 1.7 e OS X 10.8.5. Executando o exemplo comrun-main Example
sob sbt dá
[error] (run-main) java.lang.UnsatisfiedLinkError: org.fusesource.leveldbjni.internal.NativeOptions.init()V
enquanto correndo com
java -cp scala-library.jar:example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example
apenas funciona bem. O aplicativo é executado com êxito quando o Scala está no caminho de inicialização:
java -Xbootclasspath/a:scala-library.jar -cp example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example
Alguma idéia por que há umaUnsatisfiedLinkError
apenas sob sbt?