繁体   English   中英

如何将 MQTT Paho 导入 Java 'playground'?

[英]How to Import MQTT Paho into Java 'playground'?

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

重现 Playground 中的错误信息

单击代码操场的链接后,单击“运行”按钮以重现错误。

错误信息

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

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;

导致失败:

./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

问题

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

tl;dr - 这可能永远行不通

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

它以 jar 文件的形式提供,您需要将其添加到要使用它的任何 Java 运行时的类路径中。

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

代码操场的管理员无法提前知道用户可能想要尝试哪些库,并且仅在类的顶部包含导入语句并不能完全确定您指的是哪个版本的库。

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

此外,即使 Playground 确实有办法指定第三方库,这也会带来巨大的安全问题,因为他们无法控制现在将在他们的机器上运行的代码。 我希望这些片段已经在一个安全管理器下运行,该管理器阻止访问互联网和本地文件系统。 这将阻止您连接到代理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM