小薇聊天机器人用 MyEclipse 部署上线 SOP 教程

本贴最后更新于 2787 天前,其中的信息可能已经渤澥桑田

#背景
近期把 D(丁亮)上线的小薇聊天机器人玩 HIGH 了。由于 D 写的文档还没有特别详细,因此本着开放、自由的分享的精神,在此就用 SOP 的方式,给小白们普及一下小薇是如何一步步部署上线。
#SOP
##一、下载小薇源代码
1.首先登录“黑客派”论坛 https://hacpai.com/
2.找到 D 的帖子(D 的头像是路飞,很好认),点击路飞的头像
QQ 截图 20160729232728.png
3.找到小薇的帖子
QQ 截图 20160729232937.png
4.点击“ XiaoV ”的链接,定位到 GitHub
QQ 截图 20160729233037.png
5.在 D 的 GitHub 上 ,点击 Clone or download 这个按钮
QQ 截图 20160729233224.png
6.点击 Download ZIP 这个按钮
QQ 截图 20160729233409.png
##二、导入小薇的工程文件
7.把 xiaov_master 压缩包解压到你的 MyEclipse 工程目录下
QQ 截图 20160729234012.png
8.然后打开 MyEclipse
(什么?你没有 MyEclipse ?那么再见!)
QQ 截图 20160729234347.png
9.在 MyEclipse 中的 File 菜单中点击 Import
未标题-1.jpg
10.在 Import 选项卡的 Select an import source 中输入 maven ,并选择 Exisiting Maven Projects
QQ 截图 20160729235019.png
11.在下一步操作中,点击 Browse... 按钮,将目录定位到 JAVA 工程中的 xiao-master 上并点击 Next 按钮
QQ 截图 20160729235333.png
12.看到这个画面后直接点击 Finish
QQ 截图 20160729235526.png
13.然后你会看到右小角的滚动条在跑呀跑,等等吧亲!去泡杯茶,或者喝杯咖啡。
QQ 截图 20160729235701.png
14.跑完后,你会发现,小薇的工程目录前面有个感叹号,一定是哪里出了问题
QQ 截图 20160729235948.png
15.右键点击这个工程,选择 Build Path -> Configure Build Path...
QQ 截图 20160730000124.png
##三、安装 JDK1.7 环境
16.可以看到原来是没有 jdk1.7 ,别急,点这里下载,密码:k4ms
QQ 截图 20160730000349.png
17.装一下 jdk1.7 ,很快的哈
QQ 截图 20160730000935.png
18.装好了,那么我们再回到 Build Path -> Configure Build Path... ,点击 Libraries 选项卡,再点击 Edit...
QQ 截图 20160730001114.png
19.选择 Alternate JRE ,再点击 Installed JREs...
QQ 截图 20160730001236.png
20.点击 Add...
QQ 截图 20160730001348.png
21.选择 Standard VM ,点击 Next
QQ 截图 20160730001438.png
22.将 Directory... 定位到刚才 jdk1.7 的安装目录下,再点击 Finish
QQ 截图 20160730001603.png
23.回到前一个对话框,选择 jdk1.7 ,点击 OK
QQ 截图 20160730001800.png
24.再回到前一个对话框,点击 Execution environment (这时可以看到已经有 jdk1.7 的环境了),再点击 Finish 按钮,OK
QQ 截图 20160730001913.png
##三、部署小薇服务
25.这时候可以看到,小薇的工程已经没有报错了
QQ 截图 20160730002107.png
26.为了确保小薇依赖的包都准确无误,我们可以在工程目录上点击右键,然后 Run As -> Maven install
QQ 截图 20160730002438.png
27.可以看到 Maven 在控制台输出了 BUILD SUCCESS 的信息,OK
QQ 截图 20160730002655.png
28.接下来,我们要把小薇部署到 Tomcat 上,点击 MyEclipse 上的 Deploy 按钮,在弹出的对话框中点击 Add 按钮
PS:D 用的是 Jetty,但我还是比较习惯用 Tomcat 呵
QQ 截图 20160730002849.png
29.选择 MyEclipse Tomcat ,点击 Finish
QQ 截图 20160730003122.png
30.回到上一个对话框,可以看到 Successfully deployed. 的提示,点击 OK
QQ 截图 20160730003258.png
##四、运行小薇服务
31.接下来,点击 MyEclipse 上服务器按钮旁边的小三角形,选择 MyEclipse Tomcat -> Start
QQ 截图 20160730003453.png
32.可以看到,控制台中输出了小薇启动的信息
QQ 截图 20160730003645.png
33.找到控制台告诉你的二维码所在的目录,打开,用手机 QQ 扫它吧
QQ 截图 20160730003829.png
34.这时候,你看到了控制台输出了一堆错误信息
QQ 截图 20160730004120.png
35.别着急,根据提示,我们打开 w.qq.com,先扫扫看吧
QQ 截图 20160730004002.png
36.可以正常登录网页版 QQ,那么,退出吧!
QQ 截图 20160730004533.png
37.再回到 MyEclipse ,把服务跑起来!这时候发现小薇已经可以读取到 QQ 群号了
QQ 截图 20160730004737.png
38.什么?还是有出错信息?
QQ 截图 20160730004907.png
##五、开始调戏小薇
39.安啦!这是正常的,只要有人敢在群里叫小薇,她就会开始瞎扯淡啦!不信你看!
QQ 截图 20160730005141.png
40.同时你也可以打开小薇的 QQ,看她实时的扯淡能力啦,QQ 的界面我就不截图了
PS:你眼神很犀利,看到了 1202 的返回错误码,这个是因为我的小薇被人禁言了- -!!
最后,如果需要修改小薇的名称,可以在工程中的 resources 目录下,找到 xiaov.properties ,打开后修改 qq.bot.name 的值,这个就是小薇的名称啦!
QQ 截图 20160730005418.png
##六、写在最后
最后的最后,请大家一定要尊重 D 的劳动成果,小薇有一个随机函数,偶尔会发一下“黑客派”论坛的广告,请大家务必不要屏蔽!

现在就去访问黑客派论坛!

--END--

  • 黑客派

    黑客派是 B3log 开源社区的线上论坛,这里主要汇聚了程序员和设计师。HacPai 分别取 Hacker / Painter 的头三个字母组成,源自《黑客与画家》。

    358 引用 • 4754 回帖 • 510 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 692 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖 • 1 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • later

    看完了还是不明白为啥要准备两个 QQ 号,一个号是小薇用,还有一个呢?

  • 其他回帖
  • someone

    启动报错 java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xiaov]]

    知道什么原因吗

  • relyn
    作者

    @destiny0 这错误是缺少包,你是用最新版的 xiaoV 吗?最新版的 D 有把所有依赖都封装成了一个 dependency.jar
    latke 那些包都在里面了

  • destiny0

    麻烦问一下,你启动项目的 pom 文件和 github 上的文件是一样的吗?为什么没有遇到报错?启动就报 java.lang.ClassNotFoundException: org.b3log.xiaov.XiaoVServletListener 这个错误。在 pom 中加上这个依赖后就报这个错误。
    org.b3log
    latke
    2.2.10

    错误:java.lang.ClassNotFoundException: com.scienjus.smartqq.callback.MessageCallback。有点不懂来请教一下,谢谢~(≧▽≦)/~

  • 查看全部回帖
relyn
永远相信美好的事情即将发生 福州

推荐标签 标签

  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 546 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖 • 1 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 619 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 439 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 245 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    396 引用 • 3416 回帖 • 1 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 409 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 22 关注
  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖 • 1 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 369 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 45 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 154 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 6 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 5 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    370 引用 • 1215 回帖 • 582 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 593 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    161 引用 • 473 回帖
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    60 引用 • 287 回帖 • 1 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 149 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖 • 1 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 495 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖 • 2 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 172 关注
  • sts
    2 引用 • 2 回帖 • 152 关注