Sun GlassFish Enterprise Server v3 发行说明

启动应用程序客户端可导致客户端的主类产生 ClassNotFound 错误(问题 11181)

描述

满足以下所有条件时会出现问题:

由于将某个在服务器上生成的文件放置在错误的服务器目录中,并且该文件覆写了另一个生成的文件,因此尝试启动应用程序客户端时会失败,并且出现以下错误:


java.lang.ClassNotFoundException:(main-class-for-the-client)

有关更多信息,请参见问题报告

解决方法

更改应用程序客户端的名称,使其不为 myAppClient.jar。具体而言:

  1. 编辑 myApp/META-INF/application.xml,使客户端的声明为 <java>myClient.jar</java>。请注意,可使用 myAppClient.jar 外的任何名称。

  2. myApp/myAppClient_jar 目录重命名为 myApp/myClient_jar。请注意,客户端的子目录名称必须与 application.xml 文件中的应用程序客户端 URI 一致,且 _jar 替换掉 .jar

  3. 部署应用程序:


    asadmin deploy --retrieve localdir myApp
    
  4. 运行应用程序客户端:


    appclient -client localdir/myAppClient.jar