不通过 Eclipse 转换现有函数类

您可以在不使用 Eclipse 的情况下将为 Rational® Integration Tester V4 编写的函数转换为可用于 V5 或更高版本。

关于此任务

注: 以下步骤假定 Rational Integration Tester 安装在 C:\Program Files\IBM\RationalIntegrationTester\\ 中,Installation Manager 共享资源目录安装在 C:\Program Files\IBM®\IBMIMShared\ 中,并且您使用的是 Windows 命令提示符。但是,也支持从 Linux 终端运行命令,并且 Installation Manager 共享资源目录安装在 Linux 系统上的 /opt/IBM/IBMIMShared/ 中。

过程

  1. 创建用于在其中开发定制函数的文件夹。 例如,c:\customFunction
  2. 为源和构建输出创建文件夹。例如,c:\customFunction\srcc:\customFunction\build
  3. plugin.xml 文件和 META-INF 目录从 C:\Program Files\IBM\Rational\IntegrationTester\examples\FunctionsSamplePlugin 复制到 build 目录中。plugin.xml 文件和 META-INF 目录都必须被复制到相同目标目录 (C:\customFunction\build)。
  4. src 下创建所需的目录结构以包含定制函数代码。有关如何编写定制功能代码的信息,请参阅实现函数类。 如果您拥有现有的代码,请复制 src 文件夹下的根数据包和所有子数据包。例如:C:\customFunction\src\com\samples\functions\FormatDate.java 实例目录结构如下所示:

    示例目录结构

    除了在 src 文件夹中之外,如果编译您自己的函数,将在类似文件夹层次结构中具有您自己的 Java™ 类。例如:

    示例 src 目录结构

  5. 移除 register() 方法,因为不再需要该方法。
  6. 将缺省构造函数的可视性更改为 public。不能使用其他可视性(例如 protected),否则在尝试执行函数时会生成异常。
  7. 移除缺省构造函数中的 super(String, String, int, int) 调用。

    此超级构造函数不再存在,因此对其进行的任何调用都会产生错误。此调用替换为扩展点定义中包含的信息。

  8. 移除方法 getSyntax()。 此信息现在包含在扩展点定义中。
  9. 在命令提示符或终端中,从 C:\customFunction\src 文件夹将定制函数编译到 build 目录中,例如通过运行以下命令:
    注: 从 Java Development Kit (JDK) 运行 javac 可执行文件。如果显示的命令找不到该可执行文件,将可执行文件位置的完整路径添加到每个命令的开头。

    javac -d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*" com/samples/functions/FormatDate.java

    注: 如果源包含多个 Java 文件,那么必须在命令中指定每个文件。例如,如果使用上述辅助目录结构,那么命令是:
    javac -d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*" com/mycompany/myfunction/MyFunction.java com/mycompany/myfunction/MyUtilities.java

    或者

    javac -d ../build -classpath .;"C:/Program Files/IBM/IBMIMShared/plugins/*" com/mycompany/myfunction/*.java
    在 Linux 系统上,命令为:
    javac -d ../build -classpath .:"/opt/IBM/IBMIMShared/plugins/*" **/*.java
  10. 编辑 MANIFEST.MF,其位于 build 目录(例如 META-INF/MANIFEST.MF)下的 META-INF 目录中,并更改以下值:
    更改为...
    Bundle-Name 输入插件的描述性名称(例如,格式日期函数)。
    Bundle-SymbolicName 输入描述插件的唯一标识。此标识必须不同于任何其他插件,因为不能一次装入两个具有同一标识的插件。保持“singleton:=true”部分不变。
    Bundle-Vendor 输入公司的名称或其他提供者描述。
    清单文件的示例如下所示:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.7.0
    Created-By: 10.0-b19 (Sun Microsystems Inc.)
    Bundle-ManifestVersion: 2
    Bundle-Name: The Function That Does Exactly What I Need
    Bundle-SymbolicName: com.mycompany.myfunction;singleton:=true
    Bundle-Version: 1.0.0
    Bundle-Vendor: My Company
    Import-Package: com.ghc.ghTester.expressions

    Bundle_NameBundle-SymbolicNameBundle-Vendor 的值替换为您自己的值。Bundle-SymbolicName 值通常(但不是必须)与函数 Java 类所在的 Java 软件包名称匹配。

  11. 在文本编辑器中打开 plug-in.xml(位于构建目录中)并更新值,如配置扩展点元素中所述。
  12. 在命令提示符或终端中,从 c:\customFunction\build 目录创建其中包含定制函数类 MANIFEST.MFplug-in.xml 的 JAR 文件。例如,可以使用以下命令:
    注: 从 Java Development Kit (JDK) 运行 jar 可执行文件。如果显示的命令找不到该可执行文件,将可执行文件位置的完整路径添加到每个命令的开头。

    jar cvfm custom-function-plug-in_1.0.0.jar META-INF\MANIFEST.MF com plugin.xml

    注: 您可以为 JAR 文件选择任何名称,但是必须遵循防止名称冲突的约定。
  13. 将新 JAR 文件复制到项目的“Functions”文件夹中。

    在为函数生成插件(在 Eclipse 中创建插件)并实现函数(实现 Function 类)之后,您需要向 Rational Integration Tester 告知此情况。

    完成时,遵循指示信息将函数装入到 Rational Integration Tester 中(请参阅在 Rational Integration Tester 中配置函数)。

    注: 可以在 C:\Program Files\IBM\RationalIntegrationTester\examples\FunctionsSamplePlugin 下找到插件外观的示例。

反馈