首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将MQTT Paho导入Java‘操场’?

如何将MQTT Paho导入Java‘操场’?
EN

Stack Overflow用户
提问于 2019-12-13 04:54:42
回答 1查看 579关注 0票数 0

目标:Java通过代码操场控制台发布MQTT消息。在将指令移植到Android之前,操场是用来证明功能的。

在游乐场中复制错误消息

单击指向代码操场的链接后,单击“run”按钮以再现错误。

错误信息

为什么在代码操场中添加导入语句?:

代码语言:javascript
复制
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

造成失败:

代码语言:javascript
复制
./Playground/Playground.java:4: error: package org.eclipse.paho.client.mqttv3 does not exist
                import org.eclipse.paho.client.mqttv3.MqttClient;
                                                     ^
./Playground/Playground.java:5: error: package org.eclipse.paho.client.mqttv3 does not exist
        import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
                                             ^
./Playground/Playground.java:6: error: package org.eclipse.paho.client.mqttv3 does not exist
        import org.eclipse.paho.client.mqttv3.MqttException;
                                             ^
./Playground/Playground.java:7: error: package org.eclipse.paho.client.mqttv3 does not exist
        import org.eclipse.paho.client.mqttv3.MqttMessage;
                                             ^
./Playground/Playground.java:8: error: package org.eclipse.paho.client.mqttv3.persist does not exist
        import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
                                                     ^
5 errors

问题

  • 为什么找不到资源呢?
  • 如何克服这一障碍?(替代品?)
EN

回答 1

Stack Overflow用户

发布于 2019-12-13 07:09:48

tl;dr -这可能是行不通的。

Paho Java库不包含在Java中的默认类中。这就是所谓的第三方图书馆。

它作为jar文件提供,您需要将其添加到任何Java运行时的类路径中。

有成千上万这样的库,每个库都提供了不同的额外功能,扩展了默认的标准类集,并且在不同的发行版本中也可用。

代码操场的管理员不可能事先知道用户可能想尝试哪个库,只是在类的顶部包含一个import语句并不能完全识别您指的库的哪个版本。

虽然像Maven这样的系统提供了一种以标准方式查找和下载这些库的方法,但它仍然不适合这种类型的环境,也没有涵盖您可能需要的每个库。

而且,即使操场有一种方法来指定第三方库,这也会导致一个巨大的安全问题,因为它们将无法控制现在在其机器上运行的代码。我预计这些代码段已经在安全管理器下运行,该管理器阻止访问internet和本地文件系统。这将阻止您连接到代理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59316333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档