我在 Linux 服务器上加载 OpenCV 库时遇到问题。我正在尝试将带有 Java 组件的应用程序部署到此环境。我首先在 Windows 上使用 Ubuntu 安装 OpenCV,然后将 OpenCV .so 文件复制到 Java 类路径的文件夹中,以便可以找到它们。 .so 文件的结构如下所示:
如果我随后尝试使用 System.loadLibrary(NATIVE_LIBRARY_NAME); 加载库,则会出现以下错误:
CRITICAL - M2EE: java.lang.UnsatisfiedLinkError:
/home/vcap/app/data/tmp/project-userlib___415031196935836591/libopencv_java342.so:
/home/vcap/app/model/resources/libopencv_ml.so.3.4: file too short
我认为这与将链接的 .so 文件复制到 Windows 然后将它们部署回 Linux 有关,因此库的链接在某种程度上丢失了,但我不知道如何以正确的方式执行此操作。
希望有人能帮助我。
问候,
病房
最佳答案
不幸的是,您将无法通过IBM Bluemix 服务器安装依赖项/库。
但是,您可以使用 IBM Bluemix 服务器 上提供的 Java 运行时创建开发环境,然后安装OpenCV或任何其他依赖项/库 。
这样,您也可以在应用程序中使用它。
注意: 如果您需要任何帮助,可以询问我,也可以联系 IBM Bluemix 支持团队,他们将很乐意在这方面为您提供帮助和指导。
关于java - 在Linux服务器上加载OpenCV库时出现问题: file too short,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52204620/