# 常见问题 >[success] 以下所有的问题汇总中,Java端所进行的数据交互方均假定为`酷Q`应用。(特殊情况与问题除外) >[warning] 在尝试解决问题之前,你首先应当开启Java端的Debug日志(使用配置类的**setLogLevel**方法) 、 插件端的Debug日志(如果有的话) 、酷Q端的Debug日志(日志窗口右下角的下拉列表中选择)以获取更详细的日志信息。 ***** ### 目录 [TOC] # 前言 此章节收集并记录常见的各种问题并提供比较通用的解决方案。假如出现了什么问题,不如先来这里看看吧 如果这里没有什么好的解决方案,且出现的问题与框架本身关联不大,我推荐你**优先**使用以下方案寻找解决方法: * [Java上的问题](https://www.runoob.com/java/java-tutorial.html) * [intellij idea上的问题](https://www.runoob.com/w3cnote/intellij-idea-usage.html) * [maven上的问题](https://www.runoob.com/maven/maven-tutorial.html) * [问题解决方法汇总(国内)](https://www.baidu.com/) * [问题解决方法汇总(国外)](https://www.google.com/) * [看不懂外语就看这里](https://translate.google.cn/) * [大型问题汇总平台(国内)](https://www.csdn.net/) <br><br> ***** <br> # 问题汇总 ## 0.我不会Java怎么办? 。。。。。你可以考虑放弃自主开发,前去社区寻找现成的插件应用,或者委托他人进行开发。 当然,我本人也接收有偿定制,具体怎么收费,你可以考虑去文档的 `捐助` 章节,前往我的 [爱发电](https://afdian.net/@ForteScarlet) 主页进行参考。 不过讲道理一般都看到这里了谁还能不会个java呢。 <br><br> ***** <br> ## 1\. 我**不会maven**怎么办? 学啊!此框架所依赖的库还是比较多的,所以我并不推荐使用jar导入的方式构建项目。 而maven的学习成本并不高,简单搜一下帖子就能学会。 <br><br> ***** <br> ## 2\. maven**依赖下载不了**怎么办? * 尝试使用优质网络或者使用VPN * 尝试为Maven添加一些国内镜像地址,例如阿里镜像 * 尝试删除Maven仓库中对应路径下,扩展名为`.lastUpdated`的文件并重新下载 * 选择使用jar包方式架构项目。(并不推荐) <br><br> ***** <br> ## 3\. 使用**eclipse**出现各种各样的问题 首先,我推荐你使用 [**intellij idea**](https://www.baidu.com/link?url=OlfDs8REnRFXRDF0Twn5S1dr1RnbJBiLI6FeQSMEW1Q_IPpKPX9JMqdaxuVScdgN&wd=&eqid=e5f71353000278c0000000025e4a58df) 而不是eclipse。其次,有关IDE的一切问题均不包含在框架所出现的问题之内,我只能酌情为你加油,祝你早日解决问题,你可以尝试使用本章节**顶部**的友情链接。 <br><br> ***** <br> ## 4\. LEMOC插件打开设置后 **卡了/没有任何输入框/无法修改/崩溃** 怎么办? LEMOC插件最后更新时间是 *2016/12/12*, 距离现在已经非常久远,酷Q一直在持续更新,而LEMOC的作者回归的可能性非常渺茫,所以当LEMOC插件自身出现**任何问题**都没有什么有效的解决方案。 当插件本身运作正常,但是设置出现问题的时候,你可以尝试: * 切换酷Q启动的兼容性, 分别使用win10、win7、xp等各种可能启动试试 * 忽略插件的设置,使用其提供的默认配置进行使用(其默认值为**仅允许本地连接**、端口**25303**) <br><br> ***** <br> ## 5\. 我 **接收不到监听/发送不了消息** 怎么办?( **非docker** 环境下 ) 首先你要先检查: ### 5.1. 能发送消息但是**不能监听消息** 能发送消息,代表`java -> 酷Q`的通讯良好,但是`酷Q -> Java`的通讯不通。 一般发生在使用HTTP协议进行交互的插件上。说明你在`酷Q - 对应插件的设置`中对于Java接收消息的地址没有填写正确。 首先查看你的配置,其次检查监听消息的上报地址与Java的消息接收地址是否相同。 例如配置如下: ```properties javaPort=2233 serverPath=/coolq ``` 假设此时酷Q与Java同处在一台windows电脑上,则`酷Q插件`端所需要填写的上报地址为: ``` http://127.0.0.1:2233/coolq ``` 很多人会忘记: * 填写端口 * 填写正确的请求路径 <br> ### 5.2. 能监听消息但是**不能发送消息** 能监听消息,但是`酷Q -> Java`的通讯良好,代表`java -> 酷Q`的通讯不通。 与上述的`5.1`情况正好相反。 此时检查: * Java程序的配置中的`服务器端口(serverPort)`与`酷Q插件`上所设置的端口是否一致。 * Java程序的配置中的`IP`是否指向`酷Q`所在IP环境且此IP可用。 ### 5.3. **都不能** 都不能的情况下基本上就是说链接失败了,则首先将上述`5.1`、`5.2`的解决方案都试一遍,其次: * 查看是否存在防火墙阻拦 * 检查配置信息是否正确 * 使用PostMan或其他测试软件进行接口调试 * 查看 Java/酷Q 控制台上所出现的日志信息。(优先Debug级信息) * 尝试重启你的 IDE编辑器/服务器/电脑/酷Q/网络环境等 <br><br> ***** <br> ## 6\. 我 **接收不到监听/发送不了消息** 怎么办?( **docker** 环境下 ) 待续 <br><br> ***** <br> ## 7\. 项目启动出现**ClassNotFoundException错误**,但是我明明**下载了Jar包** 我一个盲猜你是直接从maven网址上的download jar file下载的jar包。使用此方法下载jar包是不会下载其所需要的依赖文件的,所以你可以尝试: * 使用maven构建项目 * 查看文档的`核心-jar包与依赖`章节 * 换个框架用 <br><br> ***** <br> ## 8\. 我发送不了**群消息**怎么办? 首先,你需要检查一下: ### 8.1. 私信消息能发送 那你大概率是机器人的消息被腾讯屏蔽了。此时你可以尝试: * 手动登录此机器人账号,聊个天 * 增加机器人的等级 * 增加机器人的活跃度 * 给机器人充个QQ会员(视经济条件考虑,破产了与我无关) ### 8.2. 私信也不行 那你大概率是无法与酷Q端动态交互,参考 `问题#5` <br><br> ***** <br> ## 9\. 为什么我无法 **发送图片/发送语音/发送视频/发送文件/发(抢)红包/监听撤回/.....**(略) ? 这些功能一般由应用方决定是否开放、是否收费、如何使用。 以酷Q为例: 首先,发送图片、语音等这类敏感性较低的功能酷Q提供了使用接口,其表现为[CQ码](https://docs.cqp.im/manual/cqcode/)的形式(框架内部有针对CQ码的封装与工具),且需要[付费](https://cqp.me/user/)才能够使用。 其次,例如 发/抢红包、监听撤回、文件上传/下载等敏感度较高的功能,酷Q便不提供且明确表示不会提供。(例如 发/抢红包) 每个机器人应用有其各自的规则与底线,假如你想要有一个所有功能都存在的应用,可以考虑自行抓包研究或者寻找付费定制者。 <br><br> ***** <br> ## 10\. 为什么我整合了Springboot之后,监听函数出现**无法自动注入**的情况? 想要正确整合Springboot与其依赖注入功能,首先你要确保: ①. 你已经将Springboot的依赖注入功能 **整合** 进了框架内部。至于怎么整合,可以参考[配置文件](./配置文件.md)中的DependGetter、[依赖注入](./依赖注入.md)中的自定义依赖注入与Springboot的beanFactory。且群内有demo示例项目可供参考。 ②. 你在注入的时候使用了 **正确的注解**。假如类上使用了Springboot的`@Service`或者`@Component`,则字段使用`@Autowired`,假如类上使用的是`@Beans`,则字段使用`@Depend` ③. 确保你加入的字段 **存在于** 依赖仓库中。如果不在仓库,那么不管你怎么获取都肯定不存在的。根据你所使用的注解来去验证其是否存在于Springboot的扫描范围与bean工厂中或者simple-robot的扫描范围中。 ④. 尽可能 **不要使用 `devtools`工具** (一个可以热部署的工具)。`devtools`虽然可以实现热部署,但是其实现原理涉及到类加载器,此举会导致`simple-robot`所扫描的类、真正的监听器类、Springboot的BeanFactory中的类之间出现各种各样的偏差而导致无法获取到真正你想要的类,继而导致无法注入或者结果为null。总而言之,热部署并不是那么方便的东西,你完全可以选择暂时放弃它。更何况其本身也不推荐在生产环境使用。既然只是用来测试,多启动一次又何妨? ## 待续...