1

我使用的是 HiveMQ 客户端 1.0.1 版,但我决定更新到最近发布的 1.1 版。我完全从头开始,将项目作为 Gradle 项目导入并尝试构建。只有在忽略了一些失败的测试之后,构建才能工作。我在 3 个不同的类中遇到 3 个错误。我意识到这可能与 Dagger 依赖注入工具有关,并且我已经成功构建了项目并将目录添加build/generated/source/apt/main/到了我的构建路径中,正如我之前的堆栈帖子所指出的那样,我遇到了找不到 DaggerSingletonComponent 的问题:如何修复DaggerSingletonComponent 在 HiveMQ(MQTT 协议)中未解析. 这似乎是一个新问题,我不确定出了什么问题。我尝试按项目重建,但错误仍然存​​在。我在下面留下了一些屏幕截图以及具体错误。

HiveMQ:

https://github.com/hivemq/hivemq-community-edition

https://github.com/hivemq/hivemq-mqtt-client

错误:

构造函数 MqttChannelInitializer(MqttClientConfig, MqttConnAckFlow, MqttEncoder, MqttConnectHandler, MqttDisconnectHandler, MqttAuthHandler, Lazy) 未定义

构造函数 MqttSession(MqttClientConfig, MqttSubscriptionHandler, MqttIncomingQosHandler, MqttOutgoingQosHandler) 未定义

ConnectionModule 类型中的方法 provideBootstrap(NettyEventLoopProvider, MqttChannelInitializer) 不适用于参数 (MqttClientConfig, NettyEventLoopProvider, MqttChannelInitializer)

截图:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

1

在命令行上执行./gradlew clean build将修复您的错误。

但我也认为您的用例的真正解决方案是创建一个新的空项目(gradle 或 maven)并将客户端库添加为依赖项,如下所述:https ://hivemq.github.io/hivemq-mqtt -client/docs/installation.html

于 2019-06-14T14:11:29.480 回答
1

该问题原来是由于目录中的源文件夹build/generated/source/apt/main/没有选择“更新其他源文件夹中的排除过滤器以解决嵌套”选项引起的。选择该选项解决了所有错误。

在此处输入图像描述

于 2019-06-14T18:56:35.723 回答