OpenMeetings源码编译手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
O PENMEETINGS源码编译手册
2010-12-1
B Y:邵贤军
O PENMEETINGS源码编译及运行环境搭建 (2)
一、下载eclipse for javaEE (2)
二、Subclipse插件安装 (2)
三、用Subclipse从Google SVN Check out项目文件 (7)
四、消除项目红叉 (9)
五、配置文件的修改 (13)
六、启动openmeetings项目 (14)
Openmeetings源码编译及运行环境搭建
一、下载eclipse for javaEE
Eclipse是IBM捐献的一套开发java的IDE,由于它采用了OSGI协议,因此现在可以开发的语言已经有很多种了,这里我们下载eclipse for javaEE,因为openmeetings是基于web开发的,至于下载的过程这里就不提了,一般从/downloads/下载,我下载的是eclipse-jee-galileo-win32.zip,解压就可以使用,我的eclipse是版本3.6,下面的说明和截图都是基于此版本的。
二、Subclipse插件安装
Subclipse是eclipse的一个SVN插件,使得你可以从Google code上“Check out”
openmeetings的代码。
打开eclipse,依次Help->Install New Software
在弹出的对话框中点击add,在新弹出的对话框中填入Name和Location,图中Name:subclipse, Location:/update_1.6.x,但是我在做的时候用1.6找不到,所以实际上我填写的是Name:subclipse1.4,Location:/update_1.4.x点击OK;
安装的,至于它们是干什么的,你可以上网查,这里不做赘述;
点击Next,出现如下界面:
这个界面是程序检测依赖性的界面,检测完毕之后,会出现以下界面:
直接点击Next即可,进入下面界面:
下界面:
依次windows->preferences->show View->other,见图:
在弹出的对话框中找到SVN,选中SVN资源库,如图:
这时eclipse将出现以下界面:
三、用Subclipse从Google SVN Check out项目文件
点击图中“1“位置,将弹出下图:
在URL中填入/svn/trunk/singlewebapp,点击Finish,即可看到如下图:
这个图显示了openmeetings项目的源码目录,在图中位置点击右键,点击“检出为“,英文为”check out“,进入下一个界面:
按照如图填写,点击Finish,等待很久….check之后会看到Project Explorer 多出一个项目Root,见图:
至此,Openmeetings的源码已经下载完毕了可以看到里面还有很多小红叉,下面我们就把其中的小红叉去掉,这个比较麻烦,具体的步骤我也记得不太清了,但是主要的几个烦扰我的问题我还是记得的。
四、消除项目红叉
项目“check out“之后依然有很多红叉叉,下面开始按类型解决红叉问题;
A·“java build path”问题
主要有一下几个问题:
上图中红色圈内的错误提示是因为slf4j.jar不在build path里,右键点击项目Root->properties,弹出以下对话框:
按照图中红色箭头所示将slf4j-api-1.5.10.jar加入Build Path,加入之后查看源码,会看到如下效果:
可见,这个小问题解决了,其他的关于导入的问题一般都这样解决,不过我在修改的过程中遇到一个很棘手的问题:
代码路径是这样的:
Root->src/red5-screenshare->org.red5.screen.screen.webstart->ScreenShareRTMPT.j ava
这个文件在check out之后有这么个错误:
这个错误提示的大概意思是这样的:VideoData类没有VideoData(buffer)这样一个构造函数,但是查阅官方API之后我们可以看到如下图所示的描述:
明明有这个构造函数啊?为什么会有这个问题呢?我想到了查看源码,我看了这个类所在的包:
原来是red5.jar这个包的文件,这个red5是流媒体服务器,于是找到red5.jar对应的源码,见图:
将这个src.zip解压之后查看源码,到目录\ROOT\server\red5\src\org\red5\server\net\rtmp\event下查看VideoData.java文件,可以看到只有两个构造函数:
图中可以看到,只有第二个构造函数有参数,但是这个构造函数的参数类型是IoBuffer,不是代码中的ByteBuffer类型的buffer,这要如何解决呢?本来我还想寻找与之对应的jar包,后来找不到,干脆做了一个如下的修改,见图:
没想到不报错了,高兴了很久,于是把整个项目的好多地方都做了这样一个修改;
B·扩展类和实现接口时的方法重写问题
这个错误在调代码的时候会遇到的,具体位置我记不清了,只模糊记得有个类似如下的情况:
图中错误提示“需要实现接口的方法”,但是实际上并不需要添加,只需要把MyClass 中的double改为int就可以了,类似这个问题在项目中有4-5处,具体作者为什么要这样写我也不解。
C·第三方jar包版本问题
在刚刚checkout的代码中我们可以看到如下图所示的错误:
这个问题很恶心,主要是Apache的mina包问题,项目使用的是2 . x . x版本的,但是2 . x . x版本的是没有common这个路径的,我们需要自己手动下载1.1.x版本的,这里我到官网下了1.1.7版本的,加到WebContent/WEB-INF/lib文件夹下,问题解决。
五、配置文件的修改
要使得项目文件运行起来,还需要对配置文件进行相关的修改,下面对这些修改总结一下:
A·Hibernate的MySQL数据库配置
这个配置的修改很简单,装好你的MySQL数据库之后,记住你的密码,在下图所示的文件中更改配置:
打开hibernate.cfg.xml,找到以下内容:
按照你安装时的设置进行修改就行了;
B·Tomcat启动超时的配置文件设置
修改好程序,Publish之后启动Tomcat时往往会提示一个超时的错误,这是eclipse
的问题,找到你的项目所在根目录:
找到.metadata\.plugins\org.eclipse.wst.server.core\目录下的servers.xml 文件,打开它找到下图这样一个位置,将start-timeout设置为一个很大的时间(如10000)即可,重启eclipse就可以解决问题
至此,openmeetings的项目大错误已经没有了,实际过程中可能还会有一些小问题,这就靠随机应变了。
六、启动openmeetings项目
前面的准备工作准备好了之后就可将项目启动了,启动之前请确保安装了以下必须的软件(其中*为必须):
* Tomcat
* MySQL
* red5(这个在项目的server文件夹里)
Openoffice
…其他的网上都有,这里不赘述
准备工作做好之后,按照如下顺序:
1、启动red5,点击这个启动,成功如下图:
2、启动MySQL,这个不用我说了吧,测试是否开通如下:
3、启动Root项目,如下图:
对于第一次运行项目的可能没有建立一个Server,这里不厌其烦的把建立Server的步骤也列出来吧!
A)点击windows->preferences
B)找到servers,点击“add”
C)在弹出的对话框做如下设置
D)点击Finish就完成了tomcat的配置,此时就可以按照上述步骤启动
项目了;
4、启动项目的截图:
正在启动的截图,会有很多信息显示:
启动成功的标志:
最后一条信息如下:
[DEBUG][DefaultQuartzScheduler_Worker-2]org.hibernate.jdbc.ConnectionManag
er - releasing JDBC connection
5、项目启动之后,在浏览器输入http://localhost:8080/install,会看到如下
图片:
这是提示安装的过程,点击Continue with STEP1,进入下一界面:
console在闪动,如下:
这是程序在初始化MySQL和Red5,安装完成之后会出现:
这表示安装成功,点击Enter the Application,第一次进入会比较慢,因为要为第一次运行初始化很多东西,等等就行了,接着会出现以下界面:
填写刚才填写的内容就行了,点击 sign in可进入程序主界面:
剩余的就不扯淡了,自己玩吧!
在别人机器浏览器中输入:你的IP:8080/openmeetings就可以访问了!到此结束吧!。