如何解决我必须如何安装/配置Xuggle才能获得UnsatisfiedLinkError?
| 我刚刚开始使用Xuggle,我将所有内容下载到Eclipse中,并将它们包含在“参考库”中,但是我做了一个非常简单的测试,package com.xuggle.xuggler.demos;
import com.xuggle.xuggler.IContainer;
public class getContainerInfo {
public static void main (String [] args){
IContainer myContainer = IContainer.make();
}
}
它引发了很多错误,
2011-06-12 16:26:52,142 [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:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
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.xuggler.demos.getContainerInfo.main(getContainerInfo.java:9)
解决方法
以下是我发现的内容。由于Xuggler 5.2及更高版本的存在,您无需安装它并设置环境变量,这会造成混乱。
在网上寻找答案时,您可能会发现从旧版本到新版本都混合了一些步骤,因此可能会感到困惑。下面(B)的步骤不再适用。
我本人最终通过确保jar位于J2EE容器库中并从Xuggler 5.2升级到5.4解决了该问题。此后,链接错误消失了。
(A)适用于所有版本
来自Xuggler Docs:
将Xuggler与J2EE容器一起使用
Xuggler包含本机代码,因此需要使用J2EE容器(例如Tomcat,Jetty或Glassfish)进行特殊安装。它必须安装在J2EE容器加载它的位置,而不是特定的Web应用程序(除非可以保证您的应用程序是服务器中唯一可以加载Xuggler的应用程序)。您将必须查找特定容器的特定文档,但是例如,对于Tomcat,请确保将xuggle-xuggler.jar文件安装到$ CATALINA_HOME / shared / lib。有关原因,请参见tomcat JNI注释。
(B)仅适用于XUGGLER PRE 5.2
来自:Xuggler常见问题:
java.lang.UnsatisfiedLinkError怎么了?
这意味着Java无法找到Xuggler本机库。检查以下内容:
您安装了Xuggler吗?
如果没有,请按照此处的说明进行操作
是否已定义环境变量XUGGLE_HOME并指向您的Xuggler安装目录(在Windows上通常为C:\\ Program Files \\ Xuggle,在Linux / Mac上通常为/ usr / local)?
如果您是在Windows上安装的,安装后是否重新启动了?
您的PATH环境变量是否在Windows上包含%XUGGLE_HOME%\\ bin或在Linux / Mac上包含$ XUGGLE_HOME / bin?
在Windows上,您的PATH环境变量是否包括%XUGGLE_HOME%\\ lib?
在Linux上,您的LD_LIBRARY_PATH环境变量是否包含$ XUGGLE_HOME / lib?
在Mac OS-X上,您的DYLD_LIBRARY_PATH环境变量是否包含$ XUGGLE_HOME / lib?
您使用的是32位Java JVM,还是64位版本的Xuggler?还是Java JVM的64位版本但Xuggler的32位版本?不幸的是,这行不通。您需要确保与每个版本的\“ bitness \”相匹配。抱歉。
如果解决这些问题仍不能解决问题,请通过支持选项与我们联系。
, 问题是我没有重启。姆蒂森(Mtyson)将此包含在他的答案中,因此他是正确的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。