【问题标题】:java.lang.UnsatisfiedLinkError: no xuggle-xuggler in java.library.pathjava.lang.UnsatisfiedLinkError:java.library.path 中没有 xuggle-xuggler
【发布时间】:2011-11-17 06:12:20
【问题描述】:

我使用的是 Ubuntu 11.04 和 Eclipse。我成功安装了 Xuggler,我在他们的 FAQ 中检查了环境变量和与 linux 相关的所有内容:http://wiki.xuggle.comFrequently_Asked_Questions#What.27s_up_with_java.lang.UnsatisfiedLinkError.3F

我还根据他们的教程设置了 Eclipse: http://xuggle.wordpress.com/2009/01/23/how-to-write-your-first-xuggler-application-in-eclipse/

每当我尝试运行任何使用 Xuggler 的代码时,都会出现以下错误:

2011-09-14 14:17:30,093 [main] ERROR com.xuggle.ferry.JNILibraryLoader - Could not load library: xuggle-xuggler; version: 3; Visit http://www.xuggle.com/xuggler/faq/ to find common solutions to this problem
Exception in thread "main" java.lang.UnsatisfiedLinkError: no xuggle-xuggler in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265)
    at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168)
    at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19)
    at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1457)
    at com.xuggle.mediatool.MediaReader.<init>(MediaReader.java:137)
    at com.xuggle.mediatool.ToolFactory.makeReader(ToolFactory.java:77)
    at recode.main(recode.java:16)

那么,如何解决呢?

【问题讨论】:

  • 你的java命令行是什么?

标签: java linux eclipse xuggle xuggler


【解决方案1】:

我发现,即使我的环境变量设置正确,执行时在 java.library.path 中明确包含 Xuggler 安装目录可以让我免于该问题。

java -Djava.library.path="$XUGGLE_HOME" myExecutable

【讨论】:

    【解决方案2】:

    我从 xuggler-users google 小组得到了答案/解决方案,感谢 Navin Bhutada:

    solve it by including the Xuggle variables before runing the netbeans like this:
    export XUGGLE_HOME=/home/xyzuser/xuggler 
    export PATH=$XUGGLE_HOME/lib:$XUGGLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
    /usr/share/netbeans/6.9/bin/./netbeans"
    

    我使用 eclipse,所以我只是更改了最后一行,通过命令行从其文件夹中运行 eclipse,一切正常。

    注意:如果我导出变量并尝试从桌面上的快捷方式打开 Eclipse,它不起作用。指向我从命令行运行的同一个文件的快捷方式

    TLDR: 导出安装后得到的变量 从终端运行 Eclipse。

    【讨论】:

    • 那么最后,你的环境变量没有设置正确? =)
    • 那种。通过桌面链接打开 Eclipse 似乎会删除它们。
    【解决方案3】:

    您只需根据您的操作系统从该页面下载正确的 Xuggle: http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.2/ 然后将 lib 文件解压到项目主文件夹。

    【讨论】:

      【解决方案4】:

      原因可能是依赖 jar 不可用或版本冲突。

      在类路径中添加以下 jar 对我来说效果很好:

      xuggle-xuggler-5.4.jar
      slf4j-api-1.6.4.jar
      logback-core-1.0.0.jar
      logback-classic-1.0.0.jar

      注意:使用 netbeans 中的“添加 jar/文件夹”选项将它们添加到库文件夹中。

      【讨论】:

        猜你喜欢
        • 2016-09-13
        • 2014-07-29
        • 2018-06-19
        • 2020-06-29
        • 2017-06-27
        • 2016-08-29
        • 2012-07-16
        • 2016-11-10
        • 2020-05-04
        相关资源
        最近更新 更多