java - 如何为 Iotivity 构建 native 库以便在 Java 中加载它们

标签 java gradle java-native-interface iotivity

我正在尝试在 Java 中运行 Iotivity Simple Clent。我克隆了 Iotivity 项目 https://github.com/iotivity/iotivity我已经创建了一个 Eclipse 项目,其中包括所有必需的 Iotivity Java 类以及 java-examples 文件夹中的 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”或任何其他需要加载的库。我的操作系统是 Windows 10。

最佳答案

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

关于java - 如何为 Iotivity 构建 native 库以便在 Java 中加载它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45265648/

相关文章:

java - Java中最快的数据结构(4D可视化处理)

java - 为什么Gradle的java编译类路径不包含指定的依赖项

java - JNI 什么时候需要复制原始类型的数组?

java - 在 Java 中动态调用 native 方法

java - 如何使用 gradle 在 java 项目中添加 native 依赖项

java - 在 javafx 标签中排列文本

Java Web 服务客户端 cdata 标签

java - J2EE 7 Rest 客户端中的属性而不是值

android - Gradle 和 proguard : could not find method runProguard() for arguments [true]

react-native - 生成失败:React-Native