【问题标题】:Integrate Kura and Azure集成 Kura 和 Azure
【发布时间】:2016-11-28 04:44:00
【问题描述】:

据我所知,我们可以集成 Kura 和 Azure IoT Hub。

我按照 Microsoft 的教程模拟设备并将数据发送到 Azure IoT HUb。一切正常。

但是当我尝试将它集成到 Kura 上时。

我按照 Kura 的提示插入外部 jar(来自 Microsoft)。

一切看起来都不错。我成功导出了我的 Bundle。

但是当我的包启动时,它不满足缺少类的某些条件。

这是错误信息:

  Instances:
No instances were created because: Can not activate instance of component org.kura.microsoft.simulatedevicesecond.Simulatedevicesecond. The activation throws: java.lang.NoClassDefFoundError: javax/crypto/spec/SecretKeySpec

但是“javax/crypto/spec/SecretKeySpec”类属于jce.jar(存在于java JDK中)。

请帮我解决这个问题。

非常感谢。

【问题讨论】:

    标签: azure osgi azure-iot-hub kura


    【解决方案1】:

    您的捆绑包需要导入包javax.crypto.spec

    【讨论】:

    • javax.crypto.spec 已经存在于 Java JDK 中,我不需要直接使用它。
    • 我没看错。当我将 jce.jar 从 jdk 添加到我的库时。我解决了这个问题。但真正的解决方案是更新 kura 版本。
    • 那么您将 JCE 嵌入到您的捆绑包中了吗?不错的“解决方案”;-)
    • 不,Embedded JCE 只是解决了这个问题,但它仍然错过了另一个属于 rt.jar 的类 Deployable。如果我添加这个包,我将面临加载程序违规错误。问题是为什么我们需要所有 rt.jar 和 JCE.jar,它存在于 java JDK 上?为什么我们需要再添加它们。所以根本原因不存在,我找到了上面的另一个解决方案
    • 这就是重点,您不需要嵌入依赖项,因为它们已经在平台中。只需导入它们。
    【解决方案2】:

    我为我的问题找到了解决方案。

    我使用了错误版本的 Kura 和 Kura Workspace。

    我使用 Kura Workspace 2.2 和 Kura 1.4 版。

    它犯了这个错误。将其更改为 Kura 版本 2.x。

    一切正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 2011-11-14
      • 2022-01-20
      相关资源
      最近更新 更多