我遇到了一个非常奇怪的错误,无法解决。
我有一个企业应用程序。构建 ear 文件也可以使用 WLST 或 weblogic Deployer 命令行成功部署。
Webapp 使用 Manifest.mf 文件中的“Weblogic-Application-Version”进行版本控制。
但是,当我使用 WLST 命令“redeploy(...)”重新部署 EAR 时,出现以下错误
java.io.IOException:java.io.CharConversionException:UTF-8 字符格式错误 - 缺少 XML 编码声明吗?无法重新部署应用程序,状态为失败
奇怪的是,如果我使用命令行部署程序“java weblogic.Deployer -redeploy...”,ear 文件就可以完美地重新部署。
此外,如果我使用部署命令“deploy(....)”,它也会成功部署,并淘汰旧版本。
理想情况下,我想使用 WLST 中的重新部署命令来确保旧版本正确退役。
- 有人对导致此问题的原因有什么建议吗?
- 当 weapps 进行版本控制时,deploy(...) 是否与 wlst 中的 redeploy(...) 执行相同的操作?
答案1
我弄清楚了这里发生了什么,所以我要把它发布在这里以防有人遇到同样的问题。
我正在使用 wlst 命令:
redeploy(<app-name>, <app-path>....)
ear 文件的位置在哪里?这是不正确的,因为第二个参数应该是计划路径(请参阅http://docs.oracle.com/cd/E15523_01/web.1111/e13813/reference.htm#WLSTC222)
我转而使用名称参数
redeploy(appName=<app-name>, appPath=<appPath>, ...)
成功运行。错误消息毫无帮助。