满足以下所有条件时会出现问题:
应用程序为包含应用程序客户端的 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 文件中的应用程序客户端 URI 一致,且 _jar 替换掉 .jar。
部署应用程序:
asadmin deploy --retrieve localdir myApp |
运行应用程序客户端:
appclient -client localdir/myAppClient.jar |