一1.最近要搞一個基於XMPP協議的移動IM,客戶端采用Android平台,很自然的想到采用Asamck來開發。
2.試過AndroidPn,不過功能太少。最后還是采用了Openfire,有很多集成功能。
二. 1.部署Openfire.其實下載Openfire到安裝是個很簡單的事情,前提是你用MySql,如果采用其他的數據庫的話,那你就要折騰一下了。網上有很多教程,相信大家都會的。
2.部署Openfire要一步一步來,千萬不能少了哪一步,或者自定義一些東西,建議初學者還是要一步一步來。
三.遇到的錯誤以及解決方法:
1.用過Eclipse的都知道,很自然的,我們導入項目一般都是Import一下就好了。但是,部署這個東西比較特別,要New 一個Java Project-> (不要勾)Use default Location->browse 你的Openfire源碼根目錄。
2.名字是個重點,建議全部都要一樣,根目錄啊,項目名啊。都一樣吧。這樣會少很多麻煩。
3.還有我的Openfire 是3.7.1的,導入的時候會有錯誤,上網看了一下,缺少了一些Oracle的Jar包,你可以去Oracle官網下載一個,然后解壓,把里面的那個叫做Cohenrence的Jar包到入你的工程。
4.下面遇到的錯誤會有點難纏點,不過淡定下來還是很容易的。
(1)Ant 編譯問題,提示Jdk not ok,看起來有點莫名奇妙吧,其實很簡單,找到build 下的build.xml ,然后根據自己的JDK version加入對應的信息。
具體就是在 <condition property="java.not.ok" value="true"> 里面的子節點 <contains string="${ant.java.version}" substring="?"/>
在?里面改為你的version信息。
(2)還有可能遇到,ant not ok 這個錯誤,方法跟上面的一樣,根據你的Ant Version信息更改節點
<condition property="ant.not.ok" value="true"> 里面的子節點 <contains string="${ant.version}" substring="?"/>
在?加上你的信息吧。
(3)遇到無法加載或者找到主類,這個錯誤,主要是VM Argument的參數問題。
一定一定要跟這個一模一樣: -DopenfireHome="${workspace_loc:openfire_src}/target/openfire 哪個符號都不能少啊!!!
千萬不要掉了這個 “-”我試過了,結果。可想而知。
最后,如果能成果run起來的話,控制台會有信息的。
像這樣的:
2012.03.29 13:13:25 Openfire 3.7.1 [2012-3-29 13:13:25]
Openfire 3.7.1 [2012-3-29 13:13:25]
2012.03.29 13:13:26 管理平台開始監聽:
希望能幫到遇到同樣錯誤的朋友。