https://github.com/caprica/vlcj <-我在这里获得了VLCJ源代码,并尝试使用“ mvn package”命令进行构建。但是,构建失败。我如何收集?
vlc 64位已安装。我也使用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
答案 0 :(得分:0)
vlcj有很多测试类,他们尝试加载LibVlc本机库。根据发布的日志,您的构建失败,因为在执行测试时这些测试类找不到LibVlc。
如果您只需要构建vlcj,则只需以标准方式跳过测试即可:
mvn clean install -Dmaven.test.skip=true
但是,如果您真的不需要自己构建vlcj,则只需使用Maven依赖项,因为vlcj可直接从Maven Central存储库中获得。
要解决这些测试为什么失败的问题,您需要弄清楚为什么在系统上找不到LibVlc的原因。
已发布日志中的错误消息为您提供了许多尝试解决此问题的方法。最简单的尝试可能是在启动Maven构建时设置“ jna.library.path”属性,例如:
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测试,请查看NativeDiscovery类的Javadoc。
一个简短的脚注,即将推出的vlcj-4的更改将使绝大多数用户更容易做到这一点。