Как мне установить / настроить Xuggle, чтобы не получить UnsatisfiedLinkError? - PullRequest
6 голосов
/ 13 июня 2011

Я ТОЛЬКО начинаю с 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)

Ответы [ 2 ]

10 голосов
/ 13 июля 2012

Ниже я нашел то, что нашел.Существует путаница, потому что начиная с Xuggler 5.2 и выше, вам не нужно устанавливать его и устанавливать переменные среды.

При поиске ответов в Интернете вы можете быть смущены, обнаружив несколько шагов изстарые и новые версии.Шаги из (B) ниже, больше не применяются.

Я сам наконец исправил проблему, убедившись, что jar был в библиотеке J2EE-контейнеров, и обновив Xuggler с 5.2 до 5.4.После этого ошибка связи исчезла.


(A) ЭТО ОТНОСИТСЯ К ВСЕМ ВЕРСИЯМ
С Документация Xuggler :

Использование Xuggler с контейнерами J2EE
Xuggler содержит собственный код и, следовательно, требует специальной установки с контейнерами J2EE, такими как Tomcat, Jetty или Glassfish.Он должен быть установлен в месте, куда его загружает контейнер J2EE, а не в конкретное веб-приложение (если только вы не можете гарантировать, что ваше приложение является единственным приложением на сервере, которое будет загружать 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 (обычно это C: \ Program Files \ Xuggle в Windows или/ usr / local в Linux / Mac)?
  • Если вы установили в Windows, перезагрузили ли вы после установки?Включает ли переменная среды PATH% XUGGLE_HOME% \ bin в Windows или $ XUGGLE_HOME / bin в Linux / Mac?
  • Включает ли переменная среды PATH% XUGGLE_HOME% \ lib в Windows?
  • ваша переменная среды LD_LIBRARY_PATH включает в себя $ XUGGLE_HOME / lib в Linux?
  • Включает ли ваша переменная окружения DYLD_LIBRARY_PATH $ XUGGLE_HOME / lib в Mac OS-X?
  • Используете ли вы 32-битную Java JVM, но64-битная версия Xuggler?Или 64-разрядная версия Java JVM, но 32-разрядная версия Xuggler?К сожалению, это не сработает.Вы должны убедиться, что вы соответствуете "битности" каждого выпуска.Сожалею.Если решение этих проблем не решает проблему, свяжитесь с нами через службу поддержки.
3 голосов
/ 03 апреля 2014

Проблема была в том, что я не перезагружался.Мтисон включил это в свой ответ, поэтому он прав.

...