
해결할 수 없는 매우 이상한 오류가 있습니다.
엔터프라이즈 애플리케이션이 있습니다. 빌드 이어 파일은 WLST 또는 weblogic Deployer 명령줄을 사용하여 성공적으로 배포됩니다.
웹앱의 버전은 Manifest.mf 파일의 "Weblogic-Application-Version"을 사용하여 관리됩니다.
그러나 WLST 명령 "redeploy(...)"를 사용하여 EAR을 재배포하려고 하면 아래 오류가 발생합니다.
java.io.IOException: java.io.CharConversionException: 잘못된 UTF-8 문자 - XML 인코딩 선언이 누락되었습니까? 실패 상태로 애플리케이션을 재배포하지 못했습니다.
이상한 점은 명령줄 배포자 "java weblogic.Deployer -redeploy..."를 사용하면 Ear 파일이 완벽하게 다시 배포된다는 것입니다.
또한 배포 명령 "deploy(....)"를 사용하면 성공적으로 배포되고 이전 버전이 폐기됩니다.
이상적으로는 WLST에서 재배포 명령을 사용하여 이전 버전이 올바르게 폐기되도록 하고 싶습니다.
- 이 문제의 원인이 무엇인지에 대한 제안이 있는 사람이 있습니까?
- weapp의 버전이 지정될 때 배포(...)는 wlst의 재배포(...)와 동일한 작업을 수행합니까?
답변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>, ...)
성공적으로 작동했습니다. 오류 메시지는 매우 도움이 되지 않았습니다.