🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 快速启动 >[danger] 当前文档为 `1.x` 版本的文档。simple-robot 1.x 版本已经被认定为过时且停止维护,请前往 `2.x` 版本文档:https://www.yuque.com/simpler-robot/simpler-robot-doc > 核心`1.13`后增加。 有时候,你突然想要将酷Q的`cqhttp`应用换成`mirai`应用,但是却疲于修改启动类。 如果你出现了这种需求,那么你就可以理解何为快速启动。 在以前的版本中,启动一个组件的代码一般是这样的: > cqhttp组件 ```java new CoolQHttpApplication().run(RunApp.class, args) ``` > Mirai组件 ```java new MiraiApplication().run(RunApp.class, args) ``` 在核心`1.13`后,我为`BaseApplication`追加了一个静态方法`runAuto(Class, String...)`,它可以自动检测当前环境下存在的启动器并以其作为启动器。它提供了一个统一的方式启动程序,就像这样: ```java BaseApplication.runAuto(RunApp.class, args) ``` 当你的依赖是`cqhttp`组件的时候,它便会启动`CoolQHttpApplication`,而当前的依赖为`mirai`组件的时候便会启动`MiraiApplication`,而框架最终以哪个组件启动,取决于你当前的依赖环境,这一切不需要你来操心(除非出现了BUG)。 <br> 因此,当你在编写代码的时候如果使用的都是核心的东西(**最好的兼容方式**便是仅使用核心中提供的类),那么此时,你的这套代码便可以在通过仅修改依赖的情况下任意切换组件环境。只需要换个jar包,或者换个依赖坐标即可。 ## **注意** 当你想要使用快速启动来达成通用代码的话,你需要多去注意不同组件之前的差异,并多考虑一些例外的情况。一些简单的功能例如收发消息基本上可以完美兼容任何组件环境,但是有些**组件特供**的功能却不能任意通用,例如cqhttp所提供的额外监听(心跳事件、生命周期事件)