Tomcat 6 在 Vista C: 槽安裝時,啟動報錯 FileNotFoundException: tomcat-users.xml.new (拒絕存取),導致 UserDatabase 元件載入失敗、Server 啟動中止。根因是 Vista UAC 保護 Program Files 目錄寫入權限。
Java.io.FileNotFoundException: C:\Program Files\tomcat6\conf\tomcat-users.XML.new (拒絕存取。)
at org.apache.catalina.users.MemoryUserDatabase.save(...)
...
LifecycleException: No UserDatabase component found under key UserDatabase
Tomcat 啟動嘗試寫入 tomcat-users.xml.new (暫存檔) 以更新使用者資料庫,但無寫入權限而失敗。
將 Tomcat 安裝至 D:\Tomcat6 或其他非 Program Files 目錄,完整擁有寫入權限,零設定即可運行。
C:\Program Files\tomcat6 →「內容」→「安全性」→「編輯」。Users → 核取「寫入」權限。tomcat6.exe / startup.bat (每次需提權)。設定環境變數 CATALINA_BASE=D:\Tomcat6_Instance,將 conf/、logs/、webapps/、work/、temp/ 複製至該目錄,CATALINA_HOME 仍指向 Program Files 只讀安裝目錄。
Win7 繼承 Vista UAC 機制,Program Files 同樣受寫入保護,上述方案全適用。
tomcat6w.exe (GUI) 或 service.bat install 註冊為 Windows 服務,設定「登入」分頁指定服務帳號。