Java 如何安装/配置Xuggle以避免出现不满意的链接错误?
我刚刚开始使用Xugle,我将所有内容下载到Eclipse中,并将它们包含在参考库中,但我做了一个非常简单的测试Java 如何安装/配置Xuggle以避免出现不满意的链接错误?,java,media,xuggle,Java,Media,Xuggle,我刚刚开始使用Xugle,我将所有内容下载到Eclipse中,并将它们包含在参考库中,但我做了一个非常简单的测试 package com.xuggle.xuggler.demos; import com.xuggle.xuggler.IContainer; public class getContainerInfo { public static void main (String [] args){ IContainer myContainer = IContainer.make
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)
2011-06-12 16:26:52142[main]错误com.xuggle.ferry.JNILibraryLoader-无法加载库:xuggle xuggler;版本:3;参观http://www.xuggle.com/xuggler/faq/ 找到这个问题的共同解决方案
线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有xuggle xuggler
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
位于java.lang.Runtime.loadLibrary0(Runtime.java:823)
位于java.lang.System.loadLibrary(System.java:1028)
位于com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265)
位于com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168)
在com.xuggle.xuggler.XugglerJNI上(XugglerJNI.java:19)
位于com.xuggle.xuggler.IContainer。(IContainer.java:1457)
位于com.xuggle.xuggler.demos.getContainerInfo.main(getContainerInfo.java:9)
以下是我的发现。由于Xuggler 5.2及更高版本,您不需要安装它并设置环境变量,因此存在混乱
当你在网上寻找答案时,你可能会被新旧版本的混合步骤弄糊涂。下面(B)中的步骤不再适用
我自己通过确保jar位于J2EE容器库中,并从xuggler5.2升级到5.4,最终解决了这个问题。此后,链接错误消失。
(A) 这适用于所有版本
发件人: 将Xuggler与J2EE容器一起使用
Xugler包含本机代码,因此需要使用J2EE容器(如Tomcat、Jetty或Glassfish)进行特殊安装。它必须安装在J2EE容器加载它的位置,而不是一个特定的web应用程序(除非您可以保证您的应用程序是服务器中唯一将加载Xugler的应用程序)。您必须查找特定容器的特定文档,但作为示例,对于Tomcat,请确保将xuggle-xuggler.jar文件安装到$CATALINA_HOME/shared/lib。有关原因,请参阅tomcat JNI注释
(B) 这仅适用于XUGGLER 5.2之前的版本
发件人:: java.lang.UnsatifiedLinkError怎么了?
这意味着Java找不到Xugler本机库。检查以下内容:
你安装了Xugler吗?
如果没有,请按照此处的说明操作
- 环境变量XUGGLE_HOME是否已定义并指向您的Xuggler安装目录(Windows上通常为C:\Program Files\XUGGLE或Linux/Mac上的/usr/local)
- 如果安装在Windows上,安装后是否重新启动? PATH环境变量是否包括Windows上的%XUGGLE\u HOME%\bin或Linux/Mac上的$XUGGLE\u HOME/bin
- PATH环境变量是否包括Windows上的%XUGGLE\u HOME%\lib
- 在Linux上,LD_LIBRARY_PATH环境变量是否包含$XUGGLE_HOME/lib
- 您的DYLD_LIBRARY_PATH环境变量是否包括Mac OS-X上的$XUGGLE_HOME/lib
- 您使用的是32位Java JVM,而不是64位版本的Xuggler吗?或者是64位版本的Java JVM,而不是32位版本的Xuggler?不幸的是,这行不通。您需要确保匹配每个版本的“比特度”。很抱歉 如果解决这些问题无法解决问题,请通过支持选项与我们联系
问题是我没有重新启动。Mtyson在他的回答中包含了这一点,因此他是正确的。mybe这将有所帮助-堆栈跟踪建议:“访问以找到此问题的常见解决方案”。你这么做了吗?我明白了,我只是忘记了安装过程中的一些步骤。非常感谢@泰勒:你能发布你的解决方案(例如,安装中实际需要哪些步骤)作为答案吗?这应该是注释+1的好答案,现在我们需要自己为xuggle编译源代码