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 閱讀(831) 評論(0)  編輯  收藏


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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 敖汉旗| 丰顺县| 道真| 兴城市| 太谷县| 清涧县| 略阳县| 阿拉善右旗| 怀宁县| 金堂县| 汉中市| 北辰区| 黄骅市| 四会市| 云南省| 万源市| 耒阳市| 荆州市| 长乐市| 呼伦贝尔市| 治多县| 精河县| 汕头市| 灯塔市| 安康市| 上犹县| 庆城县| 老河口市| 方山县| 光山县| 体育| 昌图县| 江安县| 鹤庆县| 安远县| 上高县| 南充市| 金沙县| 城市| 托里县| 吴桥县|