
解決できない非常に奇妙なエラーがあります。
エンタープライズ アプリケーションがあります。ビルド ear ファイルは、WLST または weblogic Deployer コマンド ラインを使用しても正常にデプロイされます。
Web アプリケーションは、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ファイルの場所はどこにありましたか。これは正しくありません。2番目の引数はプランパスである必要があります(http://docs.oracle.com/cd/E15523_01/web.1111/e13813/reference.htm#WLSTC222)
私は次のように名前引数を使用するように切り替えます
redeploy(appName=<app-name>, appPath=<appPath>, ...)
正常に動作しました。エラー メッセージはまったく役に立ちませんでした。