2011-06-12 49 views
6

我剛開始使用Xuggle和我下載的一切到Eclipse中,我將之列入他們在引用的庫,但我做了一個非常簡單的測試,我該如何安裝/配置Xuggle才能獲得UnsatisfiedLinkError?

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) 
+0

mybe這將有助於 - http://stackoverflow.com/questions/957700/how-to-set-the-java-library-path-from-eclipse – bigoldbrute 2011-06-12 20:42:32

+0

堆棧跟蹤建議:_「訪問http:///www.xuggle.com/xuggler/faq/找到解決此問題的通用解決方案「_。是你做的嗎? – 2011-06-12 20:43:25

+1

我明白了我只是忘了在安裝過程中遵循一些步驟。非常感謝! – 2011-06-12 21:08:23

回答

10

以下是我找到的。由於Xuggler 5.2及更高版本,您不需要安裝它並設置環境變量,這會造成混淆。

當您在網上尋找答案時,您可能會發現混合了新舊版本的步驟而感到困惑。下面(B)中的步驟不再適用。

我自己最終解決了這個問題,確保jar是在J2EE容器庫中,並且從Xuggler 5.2升級到5.4。此後,鏈接錯誤消失了。


(A)這適用於所用版本
the 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 Faq

怎麼了java.lang.UnsatisfiedLinkError中?
這意味着Java無法找到Xuggler本機庫。檢查以下內容:
您是否安裝了Xuggler?
如果沒有,請在這裏

  • 指令定義和指向你Xuggler安裝目錄(一般爲C環境變量XUGGLE_HOME:\ Program Files文件\ Xuggle在Windows或/ usr /本地的Linux/Mac的)?
  • 如果您安裝在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?不幸的是,這是行不通的。你需要確保你匹配每個版本的「差距」。抱歉。 如果解決這些問題不能解決問題,請通過支持選項與我們聯繫。
+1

感謝您的回答 – 2015-02-02 06:16:48

+1

+1好的答案,現在我們需要通過自己的http://www.xuggle.com/xuggler/build – Simmant 2015-09-20 12:34:17

3

問題是我沒有重新啓動。 Mtyson在他的回答中包含了這個,所以他是正確的。

+0

來編譯xuggle的源代碼這應該是評論 – Simmant 2015-09-20 12:32:52

相關問題