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

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

#背景
近期把 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 的头三个字母组成,源自《黑客与画家》。

    359 引用 • 4761 回帖 • 511 关注
  • 小薇

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

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

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

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

    3187 引用 • 8213 回帖

欢迎来到这里!

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

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

    @relyn 我看了一下,就 dependencies-1.0.0.jar 一个包

  • 其他回帖
  • relyn
    作者

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

  • someone

    有,错误日志太多无法全部贴上来,要不我发到群里?

  • someone

    为何的没有图片的输出呢。

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

推荐标签 标签

  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 1 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    286 引用 • 729 回帖
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 1 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 382 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • 周末

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

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

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    85 引用 • 139 回帖 • 1 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 431 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 700 关注
  • Unity

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

    25 引用 • 7 回帖 • 173 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 709 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 65 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖 • 1 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 9 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    266 引用 • 665 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 19 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 625 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    287 引用 • 4484 回帖 • 669 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 664 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 165 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 595 关注