创建存根命令

createEJBStubs 命令为 Java 归档 (JAR)、Web 应用程序归档 (WAR) 或企业归档 (EAR) 文件中打包的 Enterprise JavaBeans (EJB) Bean 的远程接口创建存根类。它还提供了一个选项用来在位于目录或 JAR 文件中的接口类中创建单个存根类。提供了几个命令选项,用来以不同方式打包生成的存根类。请参阅“语法和示例”部分以获取更多详细信息。

<WAS_HOME>/bin 目录中找到此命令,如下所示:
  • createEJBStubs.bat - Windows 平台
  • createEJBStubs.sh - 基于 UNIX 的平台
  • createEjbStubs - iSeries 平台

命令搜索输入的 JAR、WAR 或 EAR 文件,查找包含 Bean(这些 Bean 带有远程接口)的 EJB 模块。当找到远程接口时,生成相应的存根类,并按照指定的命令选项对其进行打包。当指定的输入是单个接口类时,工具将假设此类是 EJB 远程接口类并生成远程存根类。

对于大部分客户机端方案,WebSphere® Application Server Just-In-Time (JIT) 部署功能会动态地生成 Java™ 7 应用程序中远程 EJB 3.x 业务接口和远程 EJB 3.x 之前版本业务接口调用所需的 RMI-IIOP 存根类。但是,在某些情况下,JIT 部署环境无法应用动态生成这些类。在这些情况下,必须改为使用 createEJBStubs 命令以在客户机应用程序中生成和嵌入客户机端存根类文件。如果您的客户机环境是以下其中一种环境,请使用 createEJBStubs 命令:
  • Java Standard Edition (SE)“裸”客户机,其中 Java SE Java 虚拟机 (JVM) 是客户机环境。
  • 版本低于 V7 的 WebSphere Application Server 容器(Web 容器、EJB 容器或应用程序客户机容器),未应用 EJB 3.0 功能包,或 Java 7 应用程序中没有 EJB 3.x 之前版本的业务接口。
  • WebSphere Application Server 环境。

运行 createEJBStubs 命令的 JVM 必须定义了 java.io.tmpdir 系统属性。该属性必须指向一个已存在的可读且可写目录。

除了为 EAR 和 JAR 文件中打包的 Bean 内容创建存根之外,该命令还会为 WAR 文件中打包的 Bean 内容创建存根。如果 EAR 文件指定为输入文件,并且该 EAR 文件包含具有远程接口的 WAR 文件,那么将为这些接口生成存根。

存根放置在 WAR 文件中,其位置与存根对应的远程接口或 Bean 类的位置相同。如果存根对应的远程接口或 Bean 类以松散形式放置在 WEB-INF/classes 目录结构中,那么存根也放置在此处。如果远程接口或 Bean 类打包在 WEB-INF/lib 目录中的 JAR 文件中,那么存根将插入到同一个 JAR 文件中。如果为没有打包在 WAR 文件中的远程接口生成一个存根,那么该存根将以松散方式放置在 WEB-INF/classes 目录结构中。

客户机组件使用这些存根与服务器中运行的 EJB 组件通信。客户机组件必须使用由正确工具创建的存根实例。

语法

createEJBStubsinput_ class_ name | input_JAR_name | input_WAR_name | input_EAR_name [-help] [-newfile[new_file]] [-updatefile[update_file]] [-quiet] [-verbose] [-logfile log_file] [-appendlog] [-cp class_path] [-trace]
createEJBStubs
此命令为单一接口类文件、JAR 文件、WAR 文件或 EAR 文件创建 EJB 存根类。当不使用任何自变量或只使用 -help 调用 createEJBStubs 命令时,此命令显示可以指定的选项列表,以及带有详细解释的调用示例列表。
input_class_nameinput_EAR_nameinput_JAR_nameinput_WAR_name

第一个参数是命令的必需元素。它必须包含要处理的源类、JAR、WAR 或 EAR 文件。

此参数可以是单一接口类的标准名称(例如 com.ibm.myRemoteInterface)。请注意使用“.”字符分隔程序包名称段,类名称后不加路径名,而且不包括“.class”扩展名。对于此接口类输入,您必须使用类路径选项(例如-cp my_path 或 -cp my_path/my_interfaces.jar)来指定查找接口类的位置。会将生成的存根类放置在包定义的目录结构中(从调用命令的当前目录开始)。

此参数也可能是 JAR、WAR 或 EAR 文件。在这种情况下,必须指定路径(例如 my_path/my_Server_App.ear)。根据是否指定了 -updatefile 选项,生成的存根类将被放置在带 Bean 的相同单个模块或多个模块中,或者放置在带远程接口类的相同单个模块或多个模块中。请参阅以下部分以获取更多详细信息。

-help
提供命令语法,包括可以指定的选项列表以及带有详细解释的调用示例列表。
-newfile [new_file]
请求生成包含输入 JAR、WAR 或 EAR 中原始文件以及存根类的新文件。如果不指定此选项,那么将存根写回到原始 JAR、WAR 或 EAR 文件中。如果指定了此选项但未提供 new_file 名称,那么通过在输入 JAR、WAR 或 EAR 文件名称后追加“_withStubs”来构造新文件名称。当第一个输入参数是接口类时,不允许使用此选项。
-updatefile [update_file]
请求使用存根类更新的第二个文件(例如,除输入文件外的文件)。此选项还提供不同的打包行为。和远程接口类一样,将存根类打包在相同的单模块或多模块中。相反地,如果不指定此选项,那么在带有 Bean 类的相同单模块或多模块中打包存根类。如果指定了此选项但未提供 update_file 名称,那么只使用存根类更新原始 JAR、WAR 或 EAR 文件。当第一个输入参数是接口类时,不允许使用此选项。
-quiet
请求禁止消息。不能在指定 -verbose 或 -trace 选项的同时指定 -quiet 选项。仍显示错误消息。
-verbose
要求输出更多参考消息。不能在指定 -quiet 或 -trace 选项的同时指定 -verbose 选项。
-logfile log_file
要求将消息输出至日志文件及控制台。如果指定了此选项,那么还必须提供 log_file 名称。
-appendlog
请求将消息追加到现有的日志文件。如果指定了此选项,那么还必须指定 -logfile 选项。
-cp class_path
请求类装入器包含其他类或 jar 文件所在的指定类路径,这些类和文件是装入远程接口实例类所必需的。类路径可能包含多个段,其中每个路径与前一路径之间采用操作系统的缺省路径分隔符分隔。每个路径可以指定 JAR 文件或者目录。如果指定了此选项,那么还必须提供 class_path 名称。
-trace
请求生成详细的跟踪输出。此选项的目的是收集 IBM® 服务使用的信息以解决问题。跟踪输出只采用英语。不能在指定 -quiet 或 -verbose 选项的同时指定该选项。

示例

createEJBStubs com.ibm.myRemoteInterface -cp my_path

生成一个远程接口类的存根类并将其放置在程序包定义的目录结构中,从当前目录位置开始。my_path 目录用作类路径。如果要处理的远程接口类位于 JAR 文件中,那么必须在类路径规范中使用 - cp my_path/my_interfaces.jar 语法。

createEJBStubs my_path/my_beans.jar -newfile -quiet

为 my_beans.jar 文件中具有远程接口的所有企业 bean 生成存根类。因为 -newfile 选项中未指定 new_file 名称参数,所以生成的存根类和原来的 JAR 文件内容都将打包到名为 my_beans_withStubs.jar 的新 JAR 文件中。禁止除错误通知以外的输出消息。

createEJBStubs my_path/my_Server_App.ear -logfile myLog.out

为 my_Server_App.ear 文件中具有远程接口的所有企业 bean 生成存根类。因为未指定 -newfile 选项,所以将生成的存根类将放置到原来的 EAR 文件中。因为未指定 -updatefile 选项,所以和 Bean 类一样将存根类打包到相同的单模块或多模块中。消息将写入 myLog.out 日志文件和命令窗口中。

createEJBStubs my_path/my_Server_App.ear -updatefile my_path/my_Client_interfaces.jar

为 my_Server_App.ear 文件中具有远程接口的所有企业 bean 生成存根类。将生成的存根类放置在原来的 EAR 文件和 my_Client_interfaces.jar 文件中。因为指定了 -updatefile 选项,所以和远程接口类一样将存根类打包到相同的单模块或多模块中。

createEJBStubs my_path/my_Server_App.ear -updatefile

为 my_Server_App.ear 文件中具有远程接口的所有企业 bean 生成存根类。因为 -updatefile 选项未提供可选的 update_file 名称参数,所以生成的存根类只放置在原来的 EAR 文件中。因为指定了 -updatefile 选项,所以和远程接口类一样将存根类打包到相同的单模块或多模块中。

createEJBStubs my_path/my_beans.war

为打包在 WAR 文件中并具有远程接口的所有 bean 生成存根类。Bean1 类在 WEB-INF/classes 目录结构中以松散形式打包,因此,也将在此处放置对应的存根。同样,Bean2 类在 WEB-INF/lib 目录中的 myEJB.jar 文件中打包,因此,对应存根将插入到该 JAR 文件中。

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_3stubscmd2
文件名:rejb_3stubscmd2.html