java开源项目之IQQ学习记录之项目环境搭建与启动
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727
作者:sushengmiyan
现在就码字说说今天晚上搞定的一个项目吧,是java的,开源项目 名字叫IQQ。
开源项目IQQ简介:
个人理解:IQQ是借助于WEBQQ协议开发的一个桌面应用小程序,使用Java语言跨平台开发,可以使用于Java所支持的各种平台上运行,当然,仅供学习研究使用,不能当做商业用途哟,作者基于Linux(Ubuntu 12.04)系统,使用IDE NetBeans开发,以源代码公开方式贡献给各个程序爱好者,其目前实现了登录和聊天等基本功能,现在正在处于界面优化,性能提升的阶段,是托管在谷歌项目上的,,希望可以一起开发此项目大家感兴趣的也可以加入哟。
IQQ的官方网址:https://code.google.com/p/iqq/
开源作者:
iqq第一个版本是 承诺一个人开发的 当初是用的netbeans。
后来有一个重量级人物 solosky 加入后 iqq全部重写的 而且是用的eclipse 代码很优雅。
官网上都注明了源代码和每日构造的下载地址,按需索取即可咯,获取的时候需要svn勒,这个都是基础了对吧,不会svn的可以先学习下svn,这里有我之前刚接触的时候的一些学习记录,大家感兴趣的可以看看http://blog.csdn.net/sushengmiyan/article/details/7437446
对于开发人员来讲,有了源代码,无疑就是天大的喜事啊,有了源代码我们想干嘛就可以干嘛了。(*^__^*) 嘻嘻……那么就简单看下,如何成功运行这个项目吧~
首先介绍下我目前的环境配置:
电脑硬件:联想一体机(ideacentre b320i)
操作系统:windows xp (虽然以后不维护了,但是经典就是经典,舍不得换)
软件系统:JDK 1.7.0_51-b13(JDK目前的最新版本) 、Eclipse(标准版) 、还有乌龟SVN(tortoisesvn.net下载一个即可)
好了,有了上述环境之后,需要我们得到IQQ的项目源码,官网都有链接,我们现在只需要得这俩即可:
①.svn: http://iqq.googlecode.com/svn/trunk/IQQ_V2.1/
②.svn: http://webqq-core.googlecode.com/svn/incubator/WebQQCore/
注意知道②是①需要依赖的项目,是需要得到的
我这里将得到的都存放在了磁盘目录E:\javaEclipse下,如图:
得到的两个项目是IQQ_V2.1和WebQQCore两个文件夹,中间的ProjctSrc是我Eclipse使用的文件夹。
使用svn将文件夹的下来之后,就需要使用eclipse创建项目了。
File-New-JavaProject 工程名字我取得是JQQ,一路往下next, 到finish。创建完成一个项目,项目创建完成之后。在项目上右键,import,弹出导入对话框,选择General,选择Existing Projects into Workspace 一路next,选择的导入的项目的时候,就选择刚才下载的IQQ_V2.1目录,完成。
好。到这个时候,项目已经导入完毕了,这时候我发现项目还是不能正确运行,原因是引用的WEBQQ项目没有引入,因此再执行一遍import这时候,选择 WebQQCore目录工程即可。好,这样就把环境搭好了。
如果你也出现了我下面那样的界面,那么你距离成功也就不远了
这时候,运行eclipse 右键,run 即可。看看效果吧~
启动登录画面
登录之后的界面:
可以发消息噢!
剩下的事情就是看源代码咯。(*^__^*) 嘻嘻……,大功告成,兴奋。过年啦
java开源项目之IQQ学习记录之项目环境搭建与启动的更多相关文章
- java开源项目之IQQ学习记录之单例模式与log4j日志记录
作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...
- opengl基础学习专题 (一 )编程环境搭建
题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下 ...
- MyBatis学习系列一之环境搭建
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...
- Hadoop学习笔记(3)——分布式环境搭建
Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...
- Nutch1.7学习笔记:基本环境搭建及使用
Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...
- Koa2学习(一)环境搭建
Koa2学习(一)环境搭建 koa2脚手架 koa2服务安装 koa2-generator目录结构 什么是 Koa2 koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更 ...
- 深度学习(TensorFlow)环境搭建:(三)Ubuntu16.04+CUDA8.0+cuDNN7+Anaconda4.4+Python3.6+TensorFlow1.3
紧接着上一篇的文章<深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动>,这篇文章,主要讲解如何安装CUDA+CUDNN,不过前提是我们是已经把N ...
- 深度学习(TensorFlow)环境搭建:(二)Ubuntu16.04+1080Ti显卡驱动
前几天把刚拿到了2台GPU机器组装好了,也写了篇硬件配置清单的文章——<深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装>.这两台也在安装Ubuntu 16.04和108 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
随机推荐
- Java内存模型之重排序
参考链接:https://blog.csdn.net/huzhigenlaohu/article/details/51595676
- Elasticsearch 学习(二):安装和使用
一.安装 安装 Elasticsearch 之前,需要先安装 Java,并配置好 Java 环境变量. 安装好 Java 环境后,进入 Elasticsearch 官网下载安装包. 解压安装包,进入解 ...
- JAVA 第二天 基本数据类型
在栈中可以直接分配内存的数据是基本数据类型.引用数据类型:数据的引用在栈中,但他的对象在堆中. 基本数据类型,小可转大,大转小会失去精度 第一类:逻辑型boolean 第二类:文本型char 第三类: ...
- python中删除某个元素的3种方法
python中关于删除list中的某个元素,一般有三种方法:remove.pop.del 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 举例说明: >>> st ...
- RHEL Linux常用指令
查询已安装软件包 rpm -qa|grep * 安装软件 rpm -ivh * 查询Linux版本 uname -a lsb_release -a cat /etc/redhat-release ca ...
- golang 线程与通道
首先我们来看线程,在golang里面也叫goroutine 在读这篇文章之前,我们需要了解一下并发与并行.golang的线程是一种并发机制,而不是并行.它们之间的区别大家可以上网搜一下,网上有很多的介 ...
- RunLoop总结:RunLoop 与GCD 、Autorelease Pool之间的关系
如果在面试中问到RunLoop相关的知识,很有可能也会问到RunLoop与GCD.Autorelease Pool有没有关系,哪些地方用到了GCD.Autorelease Pool等. So,本文就总 ...
- Hibernate与JPA的区别是什么
翻译来源:https://www.quora.com/What-is-the-difference-between-Hibernate-and-JPA 本文作者:苏生米沿 本文地址:http://bl ...
- 20160211.CCPP体系详解(0021天)
程序片段(01):01.指针数组.c+02.动态数组.c 内容概要:指针数组 ///01.指针数组.c #include <stdio.h> #include <stdlib.h&g ...
- AsyncTask函数化的封装,AsyncTask函数式的调用
AsyncTask在本专栏已经做过详细的解析,但是AsyncTask函数式的调用这个概念对大多数人来说比较陌生.其实本质就是自己封装AsyncTask,让暴露的方法,看不到一点AsyncTask的身影 ...