問題が発生するのは、次のすべてに該当する場合です。
アプリケーションが EAR で、ここにアプリケーションクライアントが含まれる。
EAR がディレクトリ配備である。
EAR がアプリケーションクライアントモジュール myAppClient.jar を含む。ディレクトリ配備であるため、これは myAppClient_jar として事前に展開されている(この myApp は EAR の名前であり、不特定です)。
サーバー上に生成されたファイルが誤ったサーバーディレクトリに配置され、別の生成ファイルを上書きするため、アプリケーションクライアントを起動しようとすると次のエラーで失敗します。
java.lang.ClassNotFoundException:(main-class-for-the-client) |
詳細については、課題レポートを参照してください。
アプリケーションクライアントの名前を myAppClient.jar 以外の名前に変更します。具体的には次のとおりです。
myApp/META-INF/application.xml を編集して、クライアントの宣言を <java>myClient.jar</java> とします。myAppClient.jar 以外の名前を使用してください。
ディレクトリ名を myApp/myAppClient_jar から myApp/myClient_jar に変更します。クライアントのサブディレクトリ名は application.xml ファイルで指定されたアプリケーションクライアントの URL と同じにする必要がありますが、.jar を _jar に置き換えてください。
アプリケーションを配備します。
asadmin deploy --retrieve localdir myApp |
アプリケーションクライアントを実行します。
appclient -client localdir/myAppClient.jar |