如何为 Iotivity 构建本机库以便在 Java 中加载它们

How to build native libraries for Iotivity in order to load them in Java

我正在尝试 运行 Java 中的 Iotivity Simple Clent。我已经克隆了 Iotivity 项目 https://github.com/iotivity/iotivity 并且创建了一个 eclipse 项目,其中包括所有必需的 Iotivity Java 类 加上来自 java- 的 SimpleClient 的 类示例文件夹,到目前为止我没有错误。

当我尝试 运行 SimpleClient.java 我得到

Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocstack-jni in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.iotivity.base.OcPlatform.<clinit>(OcPlatform.java:39)
    at org.iotivity.base.examples.SimpleClient.startSimpleClient(SimpleClient.java:75)
    at org.iotivity.base.examples.SimpleClient.main(SimpleClient.java:524)

我已经安装了 SCON 和 Gradle,但我不知道如何继续构建和创建 "ocstack-jni" 或需要加载的任何其他库。我的操作系统是 Windows10.

您需要使用 BUILD_JAVA=1 进行构建,并且 JAVA_HOME 环境变量不得指向您当前的 java 安装。