
我有一個非常奇怪的錯誤,我無法解決。
我有一個企業應用程式。建置 Ear 檔案也可以使用 WLST 或 weblogic Deployer 命令列成功部署。
Web 應用程式使用 Manifest.mf 檔案中的「Weblogic-Application-Version」進行版本控制。
但是,當我使用 WLST 命令“redeploy(...)”重新部署 EAR 時,出現以下錯誤
java.io.IOException: java.io.CharConversionException: Malformed UTF-8 char -- 是否缺少 XML 編碼聲明?
奇怪的是,如果我使用命令列部署程序,“java weblogic.Deployer -redeploy...”,ear 檔案重新部署效果很好。
另外,如果我使用部署命令“deploy(....)”,它也會成功部署,並停用舊版本。
理想情況下,我想在 WLST 中使用重新部署命令來確保舊版本正確退出。
- 有人對可能導致此問題的原因有任何建議嗎?
- 當 weapps 版本化時,deploy(...) 與 wlst 中的 redeploy(...) 做同樣的事情嗎?
答案1
我弄清楚了這裡發生了什麼,所以我將把它發佈在這裡,以防有人遇到同樣的問題。
我正在使用 wlst 命令:
redeploy(<app-name>, <app-path>....)
耳朵檔案的位置在哪裡。這是不正確的,因為第二個參數應該是計劃路徑(請參閱http://docs.oracle.com/cd/E15523_01/web.1111/e13813/reference.htm#WLSTC222)
我改用名稱參數
redeploy(appName=<app-name>, appPath=<appPath>, ...)
效果很成功。該錯誤訊息毫無幫助。