java.lang.UnsatisfiedLinkError:java.library.path中没有xuggle-xuggler
我正在使用 Ubuntu 11.04 和 Eclipse。我成功安装了 Xuggler,我在常见问题解答中检查了环境变量以及与 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)
: ,怎么解决这个问题?
I'm using Ubuntu 11.04 and Eclipse. I installed Xuggler succesfully, I've checked the environment variables and everything related with linux in their FAQ: http://wiki.xuggle.comFrequently_Asked_Questions#What.27s_up_with_java.lang.UnsatisfiedLinkError.3F
I also set up Eclipse according to their tutorial:
http://xuggle.wordpress.com/2009/01/23/how-to-write-your-first-xuggler-application-in-eclipse/
Whenever I try running any code which uses Xuggler I get the following error:
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)
So, how to solve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我从 xuggler-users google 小组得到了答案/解决方案,归功于 Navin Bhutada:
我使用 eclipse,所以我只是更改了最后一行,通过命令行从其文件夹运行 eclipse,一切正常。
注意:如果我导出变量并尝试从桌面上的快捷方式打开 Eclipse,则它不起作用。快捷方式指向我从命令行运行的同一文件
TLDR:
导出安装后得到的变量
从终端运行 Eclipse。
I got the answer/solution from the xuggler-users google group, credits to Navin Bhutada:
I use eclipse, so I just changed that last line, running eclipse from its folder through the command line and everything worked just fine.
Note: If I export the variables and try opening eclipse from a shortcut on my desktop it doesn't work. The shortcut point to the same file I ran from the command line
TLDR:
export variables you got after installing
run Eclipse from the terminal.
您只需根据您的操作系统从此页面下载正确的 Xuggle:
http://xuggle.googlecode.com/ svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.2/
然后将 lib 文件解压到项目主文件夹中。
You just download correct Xuggle from this page based on ur os:
http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.2/
And then extract the lib files to project home folder.
我发现,即使我可能正确设置了环境变量,但在执行时将 Xuggler 安装目录显式包含在 java.library.path 中可以使我避免出现该问题。
即
java -Djava.library.path="$XUGGLE_HOME" myExecutable
I've found that even though I may have my environment variables set correctly, explicitly including the Xuggler install dir in the java.library.path when executing saves me from that problem.
i.e.
java -Djava.library.path="$XUGGLE_HOME" myExecutable
原因可能是依赖项 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/文件夹”选项将它们添加到库文件夹中。
Cause Could be un-availability of dependency jars or version conflicts.
Adding the following jars in the classpath worked fine for me:
xuggle-xuggler-5.4.jar
slf4j-api-1.6.4.jar
logback-core-1.0.0.jar
logback-classic-1.0.0.jar
Note: Add them in the library folder using "Add jar/Folder" Option in netbeans.