我刚刚开始使用Xuggle,我已将所有内容下载到Eclipse中,并将其包含在Referenced Libraries中,但我做了一个非常简单的测试,
package com.xuggle.xuggler.demos;
import com.xuggle.xuggler.IContainer;
public class getContainerInfo {
public static void main (String [] args){
IContainer myContainer = IContainer.make();
}
}
Run Code Online (Sandbox Code Playgroud)
它会引发一堆错误,
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)
Run Code Online (Sandbox Code Playgroud)
mty*_*son 10
以下是我发现的.存在混淆,因为从Xuggler 5.2及更高版本开始,您不需要安装它并设置环境变量.
在网上查找答案时,您可能会因为找到旧版本和新版本的混合步骤而感到困惑.以下(B)的步骤不再适用.
我自己最终通过确保jar在J2EE容器lib中,并从Xuggler 5.2升级到5.4来解决问题.此后,链接错误消失了.
(A)这适用于所用版本
从该Xuggler文档:
将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 Faq:
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?
- 您的PATH环境变量是否包含Windows上的%XUGGLE_HOME%\ lib?
- 您的LD_LIBRARY_PATH环境变量是否包含Linux上的$ XUGGLE_HOME/lib?
- 您的DYLD_LIBRARY_PATH环境变量是否包含Mac OS-X上的$ XUGGLE_HOME/lib?
- 您使用的是32位Java JVM,还是64位版本的Xuggler?或者是64位版本的Java JVM,还是32位版本的Xuggler?不幸的是,这不会奏效.您需要确保匹配每个版本的"位数".抱歉.如果解决这些问题无法解决问题,请通过支持选项与我们联系.
| 归档时间: |
|
| 查看次数: |
10680 次 |
| 最近记录: |