设置 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.java
和 VerticaSDK.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