如何向谷歌数据流添加依赖项?

时间:2017-03-15 03:36:49

标签: java opencv google-cloud-dataflow

我正在尝试将opencv添加到数据流项目中。根据我的阅读,您应该做的就是添加opencv jar并将其上传到暂存存储桶。但我知道不能全部(大部分都不起作用)。当我尝试将我的代码作为本地计算机上的直接管道运行时,出现以下错误。

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.videoio.VideoCapture.VideoCapture_1(Ljava/lang/String;)J at org.opencv.videoio.VideoCapture.VideoCapture_1(Native Method) at org.opencv.videoio.VideoCapture.<init>(VideoCapture.java:40)

我看过这篇文章, How do I add Java dependencies to a Google Dataflow project?,但它只是将jar添加到类路径中。哪个不起作用。我错过了一些我觉得很明显的东西。

1 个答案:

答案 0 :(得分:1)

UnsatisfiedLinkError是: 如果Java虚拟机无法找到声明为native的方法的适当本机语言定义,则抛出该异常。 https://github.com/dotnet/roslyn/issues/13267

由于在本地构建/运行时出现问题,因此它与数据流服务无关或上传到暂存存储桶。

谷歌快速搜索“opencv UnsatisfiedLinkError”会带来很多结果。最常见的反应是缺少这条线:

static {
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}