【发布时间】:2016-06-16 12:22:24
【问题描述】:
我有一个打包为 WAR 的 Spring Boot 应用程序,它使用 OpenCV 进行一些图像处理,我想在 Elastic Beanstalk(Tomcat 环境)上运行它。有没有办法将它与原生 Opencv 库打包?
在我具有以下配置的本地机器上一切正常:
- Tomcat 8 在 Eclipse 中运行,并在其中部署了我的应用程序。
- 我的电脑上安装了 Opencv 3.1
-
opencv_310.jar放在src/webapp/WEB-INF/lib - Opencv 添加到 Java 构建路径 (
path/to/opencv/build/bin) - Tomcat 使用 VM 参数运行
-Djava.library.path=path/to/opencv/opencv/build/lib
这个设置工作正常,我什至可以用maven clean pakcage 打包它。
但是,如果我想部署到 Amazon Elastic Beanstalk,我不能假设 Opencv 会安装在该机器上(它不会),所以我需要以某种方式将它打包到我的 WAR 文件中,这样一切都是独立的.
当我将我的 WAR 部署到 ELB 时,我总是得到 p>
java.lang.UnsatisfiedLinkError: no opencv_java300 in java.library.path
使用System.loadLibrary(Core.NATIVE_LIBRARY_NAME);加载Opencv时
我为 Opencv 的 archaic versions 找到了一些关于此的教程,但我似乎无法弄清楚如何轻松做到这一点。我很乐意提供任何提示,因为我已经坚持了很长时间。
【问题讨论】:
标签: java opencv tomcat spring-boot amazon-elastic-beanstalk