设置 Java SDK

Vertica Java 软件开发工具包 (SDK) 将作为服务器安装的一部分分发。它包含创建 UDx 库所需的源文件和 JAR 文件。有关可以编译和运行的示例,请参阅下载并运行 UDx 示例代码

要求

至少需要在开发计算机上安装下列资源:

  • 与您已在数据库主机上安装的 Java 版本相匹配的 Java 开发工具包 (JDK) 版本(请参阅在 Vertica 主机上安装 Java)。

  • Vertica SDK 的副本。

或者,您可以使用内部版本管理工具(例如 make)来简化开发。

SDK 文件

要使用 SDK,您需要 Java 支持包中的两个文件:

  • /opt/vertica/bin/VerticaSDK.jar 包含 Vertica Java SDK 和其他支持文件。

  • /opt/vertica/sdk/BuildInfo.java 包含有关 SDK 的版本信息。您必须编译此文件并将其包含到 Java UDx JAR 文件中。

如果您不在数据库节点上进行开发,则可以从数据库节点之一将这两个文件复制到开发系统。

用来编译 UDx 的 BuildInfo.javaVerticaSDK.jar 文件必须来自同一个 SDK 版本。这两个文件还必须与 Vertica 主机上的 SDK 文件的版本匹配。只有不在 Vertica 主机上编译 UDx 时,版本控制才会出现问题。如果要在单独的开发系统上进行编译,请始终刷新这两个文件的副本,并在部署之前重新编译 UDx。

开发 UDx 时,计划使用的 SDK 版本必须与其所在的数据库版本相同。要显示当前安装在系统上的 SDK 版本,请在 vsql 中运行以下命令:

=> SELECT sdk_version();

编译 BuildInfo.java

您需要将 BuildInfo.java 文件编译到类文件中,以便可以将该文件包含到 Java UDx JAR 库中。如果要使用 Vertica 节点作为开发系统,您可以执行以下任一操作:

  • BuildInfo.java 文件复制到主机上的其他位置。

  • 如果您没有 root 权限,请在原位置编译 BuildInfo.java 文件。(只有 root 用户拥有将文件写入到 /opt/vertica/sdk 目录的权限。)

使用以下命令编译文件。将 path 替换为文件的路径,并将 output-directory 替换为将在其中编译 UDx 的目录。

$ javac -classpath /opt/vertica/bin/VerticaSDK.jar \
      /path/BuildInfo.java -d output-directory

如果使用诸如 Eclipse 等 IDE,则您可以将 BuildInfo.java 文件包含到项目中,而不必单独编译此文件。您还必须将 VerticaSDK.jar 文件添加到项目的构建路径中。有关如何将文件和库包含到项目中的详细信息,请参阅 IDE 的文档。

运行示例

您可以从 GitHub 存储库下载示例(请参阅下载并运行 UDx 示例代码)。编译和运行示例有助于确保正确设置开发环境。

如果您尚未这样做,请将 JAVA_HOME 环境变量设置为您的 JDK(而非 JRE)目录。

要编译所有示例(包括 Java 示例),请在示例目录下的 Java-and-C++ 目录中执行以下命令:

$ make

要仅编译 Java 示例,请在示例目录下的 Java-and-C++ 目录中执行以下命令:

$ make JavaFunctions