




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、调试、编译开发环境 Openfire 与安装自己实践:说明:开发环境( IDE ):Eclipse 3.3.2+JDK1.6+Ant 1.7+Openfire_src_3_5_1.zip1. 如果代码中使用了 import testng.xxx 语句,就需要导入 testng-5.8-jdk15.jar 类库;2. 对于警告信息,是没有关系的。因为这些警告信息是使用 1.5 以上版本 JDK 时候才出现 的,使用 JDK1.4 是不会出现这些警告信息的。因为这些代码中的有些是使用 JDK 1.4 编写 的,而 JDK1.4 不支持泛型, 而 JDK 1.5 和 JDK1.6 是支持泛型的。 这
2、些警告信息主要是提示 将这些非泛型的代码修改为更加高级的方法泛型, 所以这些警告信息是不影响代码结果 的。如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。3. 在使用ant进行编译的时候,在ant视图中可能会出现警告如下信息: taskdef class com.install4j.install4jtask cannot found这个主要是要安装用来打包Java应用程序的install4j.exe程序,要安装到其默认的安装路径下。也就是目录下即可。4. 在源码里面有一个文件夹里有个打包的图标,双击那个图标,install4j 就会读取你在build.xml 文件里的信息、在里面完成
3、做界面等打包工作。编译调试的环境 (IDE): Eclipse 3.3.2+JDK1.6+A nt (内置)+ope nfire_src_2008-06-04.zip在 Windows 操作系统下编译、调试 openfire 之前,需要确保 HTTP SSL 服务已经启动。否 则,会出现各种错误信息。1. 获取 Openfire 源代码2. 创建 openfire 工程将 openfire_src_2008-06-04.zip 解压后,目录下除了 READEME.html 、 LICENSE.html 和 changelog.html 三个网页文件之外,有下面四个子目录。build 目录: b
4、uild 目录下收录的是生成安装文件(例如:rpm )所要的一些文件,例如JRE等。resources 目录: resources 目录下收录的是一些为实现国际化(i18n )和本地化的一些编码文件(例如:英文,中文,法文,德文等) 。documentation 目录: documentation 目录下收录的是一些关于 Openfire 安装和配置的信息, 但最终要的是这里有 Openfire 开发的 Javadoc。src 目录:这个 src 文件夹就是我们想要的 Openfire 源代码了,这下面又有许多文件夹,我 们只要 Java 文件夹就好,这里面实现的 Openfire 的核心功能
5、,通过它就可以调试 Openfire 。 如果您是做二次开发, 为了定制自己的服务器端, 就可以采用这样方法:(1)新建工程:File-New-Project-Java Project,单击 Next,在 Project name 文本框中输 入工程名: openfire ,单击 Finish( 2) 解压后得到的 openfire_src_3_5_1src 目录下所有内容复制到新建的工程目录 workspaceopenfire 下(3) 在Package Explorer视图中,右击 openfire工程,选择 Properties,在弹出的对话框中 选择 Libraries-Add JAR
6、s. ,把 openfire_src_3_5_1/build/lib 目录下的 *.jar 类库全部添加进来; 选择Source标签页,Add Folder.,选中src/java目录前的复选框,点击0K,点击0K按钮。(在Eclipse中将此Java文件夹当成源代码文件夹新建工程,建立新工程后观察 Openfire所import 的包,发现 0penfire 用了许多开源工具,而这些库都在上文提到的 Build 目录的 lib 目录下, 将 0penfire 用到的库都添加到这个新建工程的 Referenced Libraries 中。或者如果这 样一个一个添加比较麻烦的话还有一个方法就是从
7、你安装好的0penfire 服务器目录下的 lib目录中 (例如:” D:Program FilesOpenfirelib ”或“/usr/local/openfire/lib )找至U openfire.jar, 打开后将里面的 org/jivesoftware 删除,重新打包成 jar 并添加到这个新建工程的 Referenced Libraries 中,这样就可以省去了很多类似的工作。 )4)但是这样新建的 openfire 项目没有打包部署, 需要开发者自己完成相应的工作。注意:新建工程之后, 可能会出现一些警告信息, 下面对此予以说明:对于警告信息,是没有关系的。因为这些警告信息是使
8、用 1.5以上版本 JDK 时候才出现的, 使用 JDK1.4 是不会出现这些警告信息的。因为这些代码中的有些是使用 JDK 1.4 编写的, 而 JDK1.4 不支持泛型, 而 JDK 1.5 和 JDK1.6 是支持泛型的。 这些警告信息主要是提示将这 些非泛型的代码修改为更加高级的方法泛型,所以这些警告信息是不影响代码结果的。 如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。3. 编译工程openfire 是用 ant 构建的,所以要先设置使得 eclipse 中每次编译都使用内置的 ant 工具,保 证编译的正确执行。同时,要在 Eclipse 中设置为使用 JDK 作为 JV
9、M ,如果使用 JRE 作为 JVM ,编译就会失败。因为 openfire 在 Windows 下是使用 install4j 打包成 .exe 格式的安装文件的,所以需要安装 install4j 。否则,在使用 ant 进行编译的时候, 在 ant 视图中可能会出现警告如下信息: taskdef class com.install4j.install4jtask cannot found 。这主要是要安装用来打包Java 应用程序的install4j.exe 程序,而且将要安装到其默认的安装路径 C:Program Filesinstall4j 下。注意:有时候在 Windows 下安装的时
10、候,可能会出现如下图所示的错误,而导致无法安装 但是,只要将安装程序 install4j_windows_4_1_2_with_jre.exe 拷贝到上面提示的目录下进行 安装就可以安装成功, 如复制到 C:Documents and Settingsliaolonglong 目录下。( 1)在 eclipse 中点击 Window-Show View-Ant ,打开 Ant 窗口;(2)在 Ant 视图中,单击右键,在弹出的快捷菜单中选择 Add Buildfiles. ;( 3)在弹出的对话框中,展开openfire/build 文件夹,选择 build 目录下的 build.xml ,点
11、击OK;(4)在 Ant 视图中,展开 Openfire XMPP Server ,双击 openfire (default)编译工程5)如果在 Console 视图中显示“ BUILD SUCCESSFUL ”就表示编译成功。7. 创建项目 Builder( 1)在 eclipse 的菜单栏中,选择 Run-Open Run Dialog. ,在弹出的对话框左侧的树形结 构中选择 Java Application ,单击右键,选择 New 创建启动配置。( 2) 在 Run 窗口的 Main 选项卡中 , 修改 Name 文本框中的值,改成包含要启动的类的工 程名 openfire( 3)在
12、 Run 窗口的 Main 选项卡中,点 Browse 按钮,选择 openfire(4) 在Run窗口的 Main选项卡中,点 Search按钮,选择 Main class为org.jivesoftware.openfire.starter.ServerStarter ,单击 Apply 按钮。(这是 openfire 的启动类)(5) 点击进入 Arguments 选项卡,在 VM arguments 文本框中输入-DopenfireHome=$workspace_loc:openfire/target/openfire单击 Apply 按钮。这个是用于 eclipse 执行 java 命
13、令时传递的参数,这样 openfire 程序可以 通过 System.getProperty(“openfireHome ”)得到 openfire 的本地位置。(6) 点击进入 Classpath选项卡,选中 User Entries,这样 Advanced.就处于可用状态;点 击 Advanced.按钮,在 Advanced Options 页面,选择 Add Folders, 单击 OK 。(默认情况下, 已经将工程 openfire 添加到了这里, 而不需要进行该项操作, 如果有多个工程的时候才需要 执行该项操作。 )选择 openfiresrci18n, 点 OK 按钮将这个文件夹加
14、入到 Classpath 选项卡中;同样的方式把 openfiresrcresources 目录下的 jar 文件夹也加到 Classpath 选项卡中。( 11)在 Common 选项卡中,勾选 Run 复选框,单击 Apply 按钮。设置完毕, 这样以后在 run 这个工程的时候就会按照正确的配置进行了, debug 的设置和 run 的设置类似,不再多说。注意:提示错误如下:HTTP ERROR: 500INTERNAL_SERVER_ERRORRequestURI=/setup/index.jspCaused by:java.lang.NullPointerExceptionat or
15、g.jivesoftware.admin.AdminConsole.getAppName(AdminConsole.java:122)at org.jivesoftware.openfire.admin.decorators.setup_jsp._jspService(setup_jsp.java:168)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)at org.mortbay
16、.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)at org.mortba
17、y.jetty.handler.ContextHandler.handle(ContextHandler.java:726)at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)at com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:156)atorg.mor
18、tbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(S
19、etCharacterEncodingFilter.java:42)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)at org.jivesoftwa
20、re.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:99)at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216
21、)at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerC
22、ollection.java:206)at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java:324)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人在线养生课程课件
- 外研版八年级英语上册Unit 4 Digital life学情评估卷(含答案)
- 上海市徐汇区某中学2024-2025学年六年级(五四制)下学期数学期末考试试卷(含解析)
- CN120197997A 一种融合多源数据的矿区碳排放智能评估方法及系统
- CN120197411A 一种医疗器械使用寿命监测方法及系统
- 人教版八年级英语下册复习专练:完形填空专练(含答案)
- 期末核心考点突破提升培优卷-三年级数学下学期(西师大版)含答案解析
- 2025叉车工职业发展规划与劳动合同
- 2025年度城市综合体项目房屋代销合作协议书
- 2025版摊铺机租赁及运输服务合同
- 百师联盟2026届高三上学期开学摸底联考数学试题
- 医疗机构睡眠门诊建设和管理专家共识(2025版)解读 3
- 2025年南阳唐河县国有企业公开招聘工作人员8名笔试备考题库及答案解析
- 中山市好小区好房子建设指引(试行)
- 2025秋人教版(2024)二年级上册数学教学计划
- 2025年部编版新教材语文八年级上册教学计划(含进度表)
- 高中生物开学第一课课件 高一生物(人教版)必修1
- 2024年船舶分段制造与装配分包劳务合同
- 安徽课件完整版本
- GB/T 17193-1997电气安装用超重荷型刚性钢导管
- GB/T 1455-2022夹层结构或芯子剪切性能试验方法
评论
0/150
提交评论