如何用eclipse调试Openfire

 我来答
huanglenzhi
推荐于2016-09-14 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  说明:开发环境(IDE):Eclipse3.3.2+JDK1.6+Ant 1.7+Openfire_src_3_5_1.zip

  1. 如果代码中使用了import testng.xxx语句,就需要导入testng-5.8-jdk15.jar类库;

  2. 对于警告信息,是没有关系的。因为这些警告信息是使用1.5以上版本JDK时候才出现的,使用JDK1.4是不会出现这些警告信息的。因为这些代码中的有些是使用JDK 1.4编写的,而JDK1.4不支持泛型,而JDK 1.5和JDK1.6是支持泛型的。这些警告信息主要是提示将这些非泛型的代码修改为更加高级的方法——泛型,所以这些警告信息是不影响代码结果的。

  如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。

  3. 在使用ant进行编译的时候,在ant视图中可能会出现警告如下信息:

  taskdef class com.install4j.install4jtask cannot found

  这个主要是要安装用来打包Java应用程序的install4j.exe程序,要安装到其默认的安装路径下。也就是C:/Program Files/目录下即可。

  4. 在源码里面有一个文件夹里有个打包的图标,双击那个图标,install4j就会读取你在build.xml文件里的信息、在里面完成做界面等打包工作。

  

  编译调试的环境(IDE):Eclipse3.3.2+JDK1.6+Ant(内置)+openfire_src_2008-06-04.zip

  在Windows操作系统下编译、调试openfire之前,需要确保HTTP SSL服务已经启动。否则,会出现各种错误信息。

  1. 获取Openfire源代码

  从官方网站上直接下载官方发布版本的源代码openfire_src_2008-06-04.zip源代码压缩包;

  2. 创建openfire工程

  将openfire_src_2008-06-04.zip解压后,目录下除了READEME.html、LICENSE.html和changelog.html三个网页文件之外,有下面四个子目录。

  build目录:build目录下收录的是生成安装文件(例如:rpm)所要的一些文件,例如JRE等。

  resources目录:resources目录下收录的是一些为实现国际化(i18n)和本地化的一些编码文件(例如:英文,中文,法文,德文等)。

  documentation目录:documentation目录下收录的是一些关于Openfire安装和配置的信息,但最终要的是这里有Openfire开发的Javadoc。

  src目录:这个src文件夹就是我们想要的Openfire源代码了,这下面又有许多文件夹,我们只要Java文件夹就好,这里面实现的Openfire的核心功能,通过它就可以调试Openfire。

  如果您是做二次开发,为了定制自己的服务器端,就可以采用这样方法:

  (1)新建工程:File->New->Project->Java Project,单击Next,在Project name文本框中输入工程名:openfire,单击Finish

  (2)解压后得到的openfire_src_3_5_1/src目录下所有内容复制到新建的工程目录workspace/openfire下

  (3)在Package Explorer视图中,右击openfire工程,选择Properties,在弹出的对话框中选择Libraries->Add JARs..,把openfire_src_3_5_1/build/lib目录下的*.jar类库全部添加进来;选择Source标签页,Add Folder..,选中src/java目录前的复选框,点击OK,点击OK按钮。

  (在Eclipse中将此Java文件夹当成源代码文件夹新建工程,建立新工程后观察Openfire所import的包,发现Openfire用了许多开源工具,而这些库都在上文提到的Build目录的lib目录下,将Openfire用到的库都添加到这个新建工程的Referenced Libraries中。或者如果这样一个一个添加比较麻烦的话还有一个方法就是从你安装好的Openfire服务器目录下的lib目录中(例如:”D:/Program Files/Openfire/lib”或“/usr/local/openfire/lib”)找到openfire.jar,打开后将里面的org/jivesoftware删除,重新打包成jar并添加到这个新建工程的Referenced Libraries中,这样就可以省去了很多类似的工作。)

  (4)但是这样新建的openfire项目没有打包部署,需要开发者自己完成相应的工作。

  注意:新建工程之后,可能会出现一些警告信息,下面对此予以说明:

  对于警告信息,是没有关系的。因为这些警告信息是使用1.5以上版本JDK时候才出现的,使用JDK1.4是不会出现这些警告信息的。因为这些代码中的有些是使用JDK 1.4编写的,而JDK1.4不支持泛型,而JDK 1.5和JDK1.6是支持泛型的。这些警告信息主要是提示将这些非泛型的代码修改为更加高级的方法——泛型,所以这些警告信息是不影响代码结果的。如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。

  3. 编译工程

  openfire是用ant构建的,所以要先设置使得eclipse中每次编译都使用内置的ant工具,保证编译的正确执行。同时,要在Eclipse中设置为使用JDK作为JVM,如果使用JRE作为JVM,编译就会失败。

  因为openfire在Windows下是使用install4j打包成.exe格式的安装文件的,所以需要安装install4j。否则,在使用ant进行编译的时候,在ant视图中可能会出现警告如下信息:taskdef class com.install4j.install4jtask cannot found。这主要是要安装用来打包Java应用程序的install4j.exe程序,而且将要安装到其默认的安装路径C:/Program Files/install4j下。

  注意:有时候在Windows下安装的时候,可能会出现如下图所示的错误,而导致无法安装

  但是,只要将安装程序install4j_windows_4_1_2_with_jre.exe拷贝到上面提示的目录下进行安装就可以安装成功,如复制到C:/Documents and Settings/liaolonglong目录下。

  (1)在eclipse中点击Window->Show View->Ant,打开Ant窗口;

  (2)在Ant 视图中,单击右键,在弹出的快捷菜单中选择Add Buildfiles..;

  (3)在弹出的对话框中,展开openfire/build文件夹,选择build目录下的build.xml,点击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)在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命令时传递的参数,这样openfire程序可以通过System.getProperty(“openfireHome”)得到openfire的本地位置。

  (6)点击进入Classpath选项卡,选中User Entries,这样Advanced...就处于可用状态;点击Advanced...按钮,在Advanced Options页面,选择Add Folders, 单击OK。(默认情况下,已经将工程openfire添加到了这里,而不需要进行该项操作,如果有多个工程的时候才需要执行该项操作。)

  选择openfire/src/i18n, 点OK按钮将这个文件夹加入到Classpath选项卡中;同样的方式把openfire/src/resources目录下的jar文件夹也加到Classpath选项卡中。

  (11)在Common选项卡中,勾选Run复选框,单击Apply按钮。

  设置完毕,这样以后在run这个工程的时候就会按照正确的配置进行了,debug的设置和run的设置类似,不再多说。
趣事情
推荐于2016-03-03 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
1、准备基本开发环境(jdk、eclipse);

2、从网上下载openfire的源码(建议openfire3.7.0),解压文件夹;

3、启动eclipse,使用openfire源码新建java工程,简单方法是将解压源代码放到workspace中,新建工程与文件夹名称相同,eclipse会自动把文件加载进来;

4、工程创建完成后遇到问题:cluster插件报错,出现类找不到的错误,少了几个jar包
(coherence.jar、coherence-work.jar、tangosol.jar),下载之,在出错的插件clustering文件夹中
与src平级建立文件夹lib,将三个jar包放到文件夹中,刷新工程,错误;

5、添加Ant透视图,在Ant透视图中添加build.xml文件(文件在build目录下),打开树,双击openfire[default]进行编译;

6、配置启动项,在工程上右键Run as-> Run
Configurations...,打开Run Configurations对话框,在Java
Application右键New,在Main选项卡中:选择刚刚建立的工程(Project),查询主类(Main
Class)ServerStarter(org.jivesoftware.openfire.starter.ServerStarter);在Arguments中设置VM
Arguments参数;

注:虚拟机参数设置不对可能会报找不到资源的异常:(Variable references non-existent resource :
${workspace_loc:openfire}.)

7、点击Run,启动没有异常,进网页看看(http://localhost:9090),ERROR
500,出现空指针异常,解决办法:将admin-sidebar.xml和openfire_i18n_en.properties这2个文件直接放在openfire\bin目录下,把编译的work 和target文件都删除了,然后重新编译一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式