
У меня очень странная ошибка, которую я не могу решить.
У меня есть корпоративное приложение. Сборка ear-файла успешно развертывается с помощью WLST или командной строки weblogic Deployer.
Версия веб-приложения определяется с помощью «Weblogic-Application-Version» в файле Manifest.mf.
Однако когда я пытаюсь повторно развернуть EAR с помощью команды WLST «redeploy(...)», я получаю следующую ошибку:
java.io.IOException: java.io.CharConversionException: Неправильный символ UTF-8 — отсутствует объявление кодировки XML? Не удалось повторно развернуть приложение со статусом failed
Странно то, что если я использую командную строку для развертывания, «java weblogic.Deployer -redeploy...», файл ear повторно развертывается совершенно нормально.
Кроме того, если я использую команду развертывания «deploy(....)», она также успешно развертывается и удаляет старую версию.
В идеале я бы хотел использовать команду redeploy в WLST, чтобы обеспечить корректное удаление старой версии.
- Есть ли у кого-нибудь предположения относительно того, что может быть причиной этой проблемы?
- При версионировании weapps делает ли deploy(...) то же самое, что и redeploy(...) в wlst?
решение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>, ...)
что сработало успешно. Сообщение об ошибке было крайне бесполезным.