Java Vlcj本机发现在Raspberry Pi3 B和x2B上失败;

Java Vlcj本机发现在Raspberry Pi3 B和x2B上失败;,java,raspberry-pi3,vlcj,Java,Raspberry Pi3,Vlcj,我有java代码需要在Raspberry Pi 3 B+和Raspbian上使用Vlcj库。但是当启动NativeDiscovery.discover()时,我收到一条“找不到vlc库”的消息。我尝试在“/usr/bin/”上使用addSearchPath(),但没有成功 我如何解决我的问题?谢谢您的JVM需要知道在哪里可以找到libvlc.so和VLC插件 它们不在“/usr/bin”中 解决这个问题的方法不止一种,最简单的可能是使用LD_LIBRARY_PATH 找到包含libvlc.so的

我有java代码需要在Raspberry Pi 3 B+和Raspbian上使用Vlcj库。但是当启动NativeDiscovery.discover()时,我收到一条“找不到vlc库”的消息。我尝试在“/usr/bin/”上使用addSearchPath(),但没有成功


我如何解决我的问题?谢谢

您的JVM需要知道在哪里可以找到libvlc.so和VLC插件

它们不在“/usr/bin”中

解决这个问题的方法不止一种,最简单的可能是使用LD_LIBRARY_PATH

找到包含libvlc.so的目录后,可以在启动应用程序时指定LD_LIBRARY_PATH环境变量

在我的Pi中,libvlc.so位于/usr/lib/arm-linux-gnueabihf中,类似于(类路径中给定的jar文件只是示例):

这可能足以让它发挥作用,但可能不行。LibVlc可能会抱怨找不到插件

如果是这样,请查找插件的安装位置(在找到libvlc.so的目录下应该有一个名为“plugins”的目录)

在我的Pi上,它们位于/usr/lib/arm-linux-gnueabihf/vlc/plugins中

现在,将VLC_PLUGIN_路径设置为指向该目录:

LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf VLC_PLUGIN_PATH=/usr/lib/arm-linux-gnueabihf/vlc/plugins java -cp vlcj.jar:jna.jar:jna-platform.jar:your-app.jar
如果需要,可以在概要文件或其他任何文件中设置这些环境变量,而不是在命令行中指定

vlcj的原生发现机制通常试图为您解决所有这些问题,但它(目前)不知道树莓皮,所以您必须自己做


vlcj的下一个主要版本(将是4.0.0)具有改进的本机发现机制。我在我的Pi上测试了这个的早期开发版本,它在没有上述任何一项的情况下直接工作。

非常感谢,通过使用正确的路径更改libvlc搜索路径,它为我工作了。这是你第二次为同一个项目救我哈哈。热爱你在vlcj上的工作。
LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf VLC_PLUGIN_PATH=/usr/lib/arm-linux-gnueabihf/vlc/plugins java -cp vlcj.jar:jna.jar:jna-platform.jar:your-app.jar