sbt下的本机库出现UnsatisfiedLinkError

马丁·克拉瑟

我正在使用sbt 0.13,并且在sbt使用leveldbjni本机库存在问题(即使在问题#358已解决之后)。一个类似的问题已经被报告为这SBT 0.13应该提供一个解决方案,但它似乎没有。所以我在这里分享我的看法。

我正在UnsatisfiedLinkError使用以下示例应用程序。

  • 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
    }
    

我正在使用Oracle JDK 1.7和OS X 10.8.5。run-main Example在sbt下运行示例给出

[error] (run-main) java.lang.UnsatisfiedLinkError: org.fusesource.leveldbjni.internal.NativeOptions.init()V

而用

java -cp scala-library.jar:example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example

正常工作。当Scala在bootclasspath上时,该应用程序甚至成功运行:

java -Xbootclasspath/a:scala-library.jar -cp example_2.10-0.1.jar:leveldbjni-all-1.7.jar Example

UnsatisfiedLinkError什么想法为什么在sbt下只有一个吗?

横田Eugene

有什么想法为什么只在sbt下存在UnsatisfiedLinkError吗?

正如@juereth所说:

Sbt使用魔术类加载器来尝试防止“泄漏”本机加载的库,并允许您多次重新导入该库。Sbt实际上将重命名DLL / SO / jnilib并将其加载到特殊的类加载器中。如果这仅是一项插件功能,或者适用于所有应用程序,我并不乐观。

因此,这是当前sbt设计的某种预期行为。如果分叉有效,那就是您要做的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Studio:UnsatisfiedLinkError:findLibrary返回null-加载本机库

来自分类Dev

在OSGi中加载本机linux库时出现UnsatisfiedLinkError

来自分类Dev

如何使用Ivy发布本机库?

来自分类Dev

本机扩展-C ++本机库

来自分类Dev

如何在rubymotion中包含本机库

来自分类Dev

本机方法中的UnsatisfiedLinkError

来自分类Dev

本机库加载时出现无法解释的UnsatisfiedLinkError

来自分类Dev

本机库加载时出现无法解释的UnsatisfiedLinkError

来自分类Dev

UnsatisfiedLinkError:本机库C:\ Domino \ nlsxbe.dll已加载到另一个类加载器中

来自分类Dev

在Scala中加载本机库时出错

来自分类Dev

如何使用本机库

来自分类Dev

Android L预览不搜索“ armeabi”文件夹中的本机库(UnsatisfiedLinkError)

来自分类Dev

使用本机库的phonegap android插件

来自分类Dev

Android L(5.0)不在eclipse中的“ armeabi”或“ armeabi-v7a”文件夹(UnsatisfiedLinkError)中搜索本机库

来自分类Dev

在Android 5.0中加载本机库时出现java.lang.UnsatisfiedLinkError

来自分类Dev

JavaCPP,在JAR中归档本机库时出现UnsatisfiedLinkError

来自分类Dev

react-native中的本机库

来自分类Dev

java.lang.UnsatisfiedLinkError:本机库XXX.so已加载到另一个类加载器中

来自分类Dev

加载包含相同符号的两个本机库时出现内存问题

来自分类Dev

UnsatisfiedLinkError:运行播放应用程序时如何加载opencv本机库?

来自分类Dev

本机方法中的UnsatisfiedLinkError

来自分类Dev

如何使用本机库

来自分类Dev

UnsatisfiedLinkError:本机库sunmscapi.dll已在另一个类加载器中加载

来自分类Dev

动态调用本机库

来自分类Dev

本机库,Java OpenAL要求

来自分类Dev

找不到Android本机库

来自分类Dev

找到本机库时出现 Java UnsatisfiedLinkError

来自分类Dev

UnsatisfiedLinkError:未找到本机库“wcepeer”(Mysaifu)

来自分类Dev

NativeScript:在没有多平台插件的情况下使用特定于平台的本机库?

Related 相关文章

  1. 1

    Android Studio:UnsatisfiedLinkError:findLibrary返回null-加载本机库

  2. 2

    在OSGi中加载本机linux库时出现UnsatisfiedLinkError

  3. 3

    如何使用Ivy发布本机库?

  4. 4

    本机扩展-C ++本机库

  5. 5

    如何在rubymotion中包含本机库

  6. 6

    本机方法中的UnsatisfiedLinkError

  7. 7

    本机库加载时出现无法解释的UnsatisfiedLinkError

  8. 8

    本机库加载时出现无法解释的UnsatisfiedLinkError

  9. 9

    UnsatisfiedLinkError:本机库C:\ Domino \ nlsxbe.dll已加载到另一个类加载器中

  10. 10

    在Scala中加载本机库时出错

  11. 11

    如何使用本机库

  12. 12

    Android L预览不搜索“ armeabi”文件夹中的本机库(UnsatisfiedLinkError)

  13. 13

    使用本机库的phonegap android插件

  14. 14

    Android L(5.0)不在eclipse中的“ armeabi”或“ armeabi-v7a”文件夹(UnsatisfiedLinkError)中搜索本机库

  15. 15

    在Android 5.0中加载本机库时出现java.lang.UnsatisfiedLinkError

  16. 16

    JavaCPP,在JAR中归档本机库时出现UnsatisfiedLinkError

  17. 17

    react-native中的本机库

  18. 18

    java.lang.UnsatisfiedLinkError:本机库XXX.so已加载到另一个类加载器中

  19. 19

    加载包含相同符号的两个本机库时出现内存问题

  20. 20

    UnsatisfiedLinkError:运行播放应用程序时如何加载opencv本机库?

  21. 21

    本机方法中的UnsatisfiedLinkError

  22. 22

    如何使用本机库

  23. 23

    UnsatisfiedLinkError:本机库sunmscapi.dll已在另一个类加载器中加载

  24. 24

    动态调用本机库

  25. 25

    本机库,Java OpenAL要求

  26. 26

    找不到Android本机库

  27. 27

    找到本机库时出现 Java UnsatisfiedLinkError

  28. 28

    UnsatisfiedLinkError:未找到本机库“wcepeer”(Mysaifu)

  29. 29

    NativeScript:在没有多平台插件的情况下使用特定于平台的本机库?

热门标签

归档