跳转至

Vertica 集成 Apache Maven

关于本文档

本文档提供关于将 Vertica 驱动添加到本地 Maven 仓库然后连接到 Vertica 的信息。如果您想使用 Maven 中央仓库中不存在的 Vertica JDBC 驱动版本,可以使用此方法。本文档的目标是探索这些方法,将 Vertica JDBC jar 文件添加到本地 Maven 仓库,并实现 Vertica 与 Apache Maven 的集成。

Maven 概述

Maven 是一个用于 Java 项目的构建自动化工具。它主要用于简化构建过程和管理依赖关系。

测试环境

  • Windows 10
  • Eclipse IDE 2020
  • Maven Version 3.6.3
  • JDK 1.8.0_231
  • Vertica JDBC Version 10.0.0

安装 Maven

  1. 从以下链接为 Windows 下载 Maven:https://maven.apache.org/download.cgi
  2. 解压 Maven 发行版 zip 文件。
  3. 将解压文件中的 bin 位置添加到系统 PATH。
  4. 打开命令行窗口并检查 Maven 是否安装成功。 Img 1

在本地 Maven 仓库中添加最新 Vertica 驱动

如果最新的 Vertica 驱动在 Maven 中央仓库中不可用,您可以使用以下任一方法:

方法 1

1、从 Vertica 客户端驱动页面 下载所需的 Vertica 驱动。

2、在终端窗口中运行以下命令:

mvn install:install-file "-Dfile=/path_to/vertica-jdbc-10.0.0-0.jar" "-DgroupId=com.vertica" "-DartifactId=vertica-jdbc" "-Dversion=10.0.0" "-Dpackaging=jar"
Img 2

3、如果构建成功,您将看到在以下位置创建了一个 Vertica 文件夹:

C:\Users\admin\.m2\repository\com\

方法 2

  1. Vertica 客户端驱动页面 下载所需的 Vertica 驱动。
  2. 在 IDE 中打开 Maven 项目。我们使用了 Eclipse IDE。
  3. 在 Maven 项目的 POM.XML 文件中,在 dependencies 标签下添加以下依赖。 Img 3
  4. 添加依赖后,构建您的项目。

将 Maven 连接到 Vertica

1、打开 Eclipse IDE。

2、在菜单上点击 File > New > Project

3、在 New Project 窗口中,选择 Maven Project,然后点击 Next

4、选择 Create a simple project (skip archetype selection) 并点击 Next

5、在 New Maven Project 窗口中,输入 Group Id、Artifact Id、Name 和 Description,然后点击 Finish

Img 4

6、Maven 项目创建完成。

7、在 Project Explorer 中,在项目下双击 pom.xml 文件。

8、在编辑器中,添加 dependency 标签以包含 Vertica JDBC 依赖,如下图所示:

Img 5

9、在 src > main > Java 目录下,添加一个新的 Java 类并添加连接到 Vertica 和其他功能的代码。在此示例中,我们执行了一个 SELECT 语句。

Img 6

import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLInvalidAuthorizationSpecException;
import java.sql.SQLTransientConnectionException;
import java.util.Properties;

public class App {
    public static void main(String[] args) {
        Properties myProp = new Properties();
        myProp.put("user", "dbadmin");
        myProp.put("password", "vert1caBdp");
        myProp.put("loginTimeout", "35");
        myProp.put("KeystorePath", "c:/keystore/keystore.jks");
        myProp.put("KeystorePassword", "keypwd");
        myProp.put("TrustStorePath", "c:/truststore/localstore.jks");
        myProp.put("TrustStorePassword", "trustpwd");

        Connection conn;
        try {
            conn = DriverManager.getConnection(
                "jdbc:vertica://10.20.71.41:5433/VMart", myProp);
            System.out.println("Connected!");
            java.sql.Statement stmt = conn.createStatement();
            stmt.execute("select * from OLDEcoDB.issue limit 10");
            ResultSet rs = null;
            rs = stmt.executeQuery("SELECT Contact_Fname, Contact_Lname FROM EcoDB.Contacts");
            int x = 1;
            while(rs.next()){
                System.out.println(x + ". " + rs.getString(1).trim() + " "
                    + rs.getString(2).trim());
                x++;
            }
            conn.close();
        } catch (SQLTransientConnectionException connException) {
            System.out.print("Network connection issue: ");
            System.out.print(connException.getMessage());
            System.out.println(" Try again later!");
            return;
        } catch (SQLInvalidAuthorizationSpecException authException) {
            System.out.print("Could not log into database: ");
            System.out.print(authException.getMessage());
            System.out.println(" Check the login credentials and try again.");
            return;
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

10、在 Project Explorer 中,右键点击项目,选择 Run As > Maven Clean

11、构建成功后,选择 Run As > Maven Install

12、构建成功后,您将在 target 文件夹下找到新创建的 jar 文件。

Img 7

更多信息

关于... 参见...
Apache Maven 网站 https://maven.apache.org/
Vertica Community Edition https://www.vertica.com/register/
Vertica User Community https://www.vertica.com/big-data-analytics-community-content/
Vertica 文档 http://www.vertica.com/docs/latest/HTML/index.htm

原文来源:https://www.vertica.com/kb/Maven_TE/Content/Partner/Maven_TE.htm