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

如何为Iotivity构建本机库以便在Java中加载它们,java,gradle,java-native-interface,iotivity,Java,Gradle,Java Native Interface,Iotivity,我正在尝试用Java运行Iotivity Simple Clent。我已经克隆了Iotivity项目,并创建了一个eclipse项目,其中包括所有必需的Iotivity Java类以及来自Java示例文件夹的SimpleClient类,到目前为止我没有任何错误 当我尝试运行SimpleClient.java时,我得到 Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocstack-jni in java.library.

我正在尝试用Java运行Iotivity Simple Clent。我已经克隆了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)

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

您需要使用build_JAVA=1进行构建,并且JAVA_HOME environment变量不能指向您当前的JAVA安装。

抱歉,我不明白该怎么做。在构建Java之前,我是否应该首先尝试生成ocstack jni库?@bloox您需要转到iotivity的根文件夹,并使用适合您计算机的参数运行SCON。请参阅iotivity构建指南,并使用build_Java参数启用。正如您所说,我能够使用build_Java=1构建项目。我还发现这些说明非常有用。但我不得不与VS 2015合作,因为VS 2017遇到了无法识别cl的问题。谢谢你,路易斯!