Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          “文檔要求有且只有一個根元素”錯誤原因分析

          Apusic應用服務器在啟動時報錯“文檔要求有且只有一個根元素”,一般是因為修改了config目錄下面的基于XML格式定義的配置文件,修改后沒有采用正確的格式保存而導致出現問題。
          全部錯誤內容如下:
          2007-09-11 13:28:16 致命 [apusic.server.Main] 裝載服務配置失敗。
          javax.management.ServiceNotFoundException: 在分析 URL "file:/C:/Apusic/Apusic-4.0.3/config/apusic.conf" 時出現問題:
          file:/C:/Apusic/Apusic-4.0.3/config/apusic.conf: line 1: 文檔要求有且只有一個根元素。
          ??????? at com.apusic.service.ServiceManager.loadServicesFromURL(Unknown Source)
          ??????? at com.apusic.server.J2EEServer.start(Unknown Source)
          ??????? at com.apusic.server.J2EEServer.startup(Unknown Source)
          ??????? at com.apusic.server.Main.main(Unknown Source)無法被XML Parser正確解析的原因分析如下:

          ×Apusic V4.0.3版本
          情況分析:
          使用記事本(Notepad)打開XML文件后采用UTF-8格式保存了文件,于是保存時會在文件前面自動增加EF BB BF三個字節的內容,作為Unicode的Signature,導致Apusic的XML解析器無法正確讀出從而報錯,但是無論采用何種編輯器打開文件都無法看到這三個字節,使得問題原因非常難以查找。

          解決方案:
          1. 最簡單的辦法就是找到那個配置文件,經常修改的就三個文件:apusic.conf、databases.xml、server.xml,例如上面的錯誤代碼中的就是apusic.conf文件;
          2. 使用Notepad打開后,另存為ANSI的格式。
          ??? 或者,使用EmEditor打開后將文件另存,另存時將“Add a Unicode Signature”選擇取消,保存后就可以正常使用。

          ×Apusic V5.0版本
          不存在這個問題。


          另:其他XML解析中也可能出現這樣的錯誤,原理應該相同。?
          ????????這個是JDK的Bug,在最新的Apusic V4.0.3版本中已經修復。

          posted on 2007-09-11 13:45 zYx.Tom 閱讀(835) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临汾市| 德令哈市| 鄄城县| 沙湾县| 兴仁县| 陆丰市| 古浪县| 张家界市| 三江| 大连市| 丹东市| 南阳市| 尚义县| 榕江县| 乌拉特前旗| 香港| 潮州市| 吉木萨尔县| 宁德市| 忻城县| 会昌县| 胶州市| 南充市| 武冈市| 高唐县| 博客| 越西县| 揭阳市| 长治县| 永清县| 阜城县| 万州区| 嘉兴市| 离岛区| 江门市| 呈贡县| 乐业县| 建昌县| 柘城县| 沧源| 惠州市|