Я не могу построить VLCJ. Как мне это построить?

https://github.com/caprica/vlcj <- я получил здесь исходный код VLCJ и попытался собрать его с помощью команды "mvn package". Однако сборка не удалась. Как я собираю?

vlc 64-bit уже установлен. Я также использую Windows 10 64 бит.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project vlcj: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

https://pastebin.com/5451CS88

1 ответ

У vlcj есть много тестовых классов, и они пытаются загрузить нативную библиотеку LibVlc. Ваша сборка, согласно опубликованному журналу, терпит неудачу, потому что эти тестовые классы не могут найти LibVlc при выполнении тестов.

Если вам нужно только собрать vlcj, просто пропустите тесты стандартным способом:

mvn clean install -Dmaven.test.skip=true

Но если вам на самом деле не нужно создавать vlcj самостоятельно, просто используйте зависимость Maven, поскольку vlcj доступен непосредственно из репозитория Maven Central.

Чтобы решить проблему с ошибками этих тестов, вам необходимо выяснить, почему LibVlc не может быть найден в вашей системе.

Сообщение об ошибке в вашем опубликованном журнале дает вам несколько способов решить эту проблему. Самое простое, что можно попробовать - это, вероятно, установить свойство jna.library.path при запуске сборки maven, например:

mvn clean install -Djna.library.path=<path-to-directory-that-contains-libvlc.dll>

Вам также может понадобиться явно установить переменную среды "VLC_PLUGIN_PATH" (это НЕ системное свойство Java) в каталог, содержащий плагины VLC - в Windows это обычно подкаталог, называемый "vlc" или "vlc/plugins". ".

Если вы устанавливаете эти значения правильно, и они все еще не работают, вам нужно убедиться, что у вас есть 64-битная JVM и 64-битная VLC.

Если у вас есть эта проблема в вашем собственном приложении, игнорируя тесты vlcj, взгляните на Javadoc для класса NativeDiscovery.

Краткое примечание: изменения в предстоящем vlcj-4 должны сделать это намного проще для подавляющего большинства пользователей.

Другие вопросы по тегам