【问题标题】:How to run derby ij interactive SQL scripting tool with maven如何使用 maven 运行 derby ij 交互式 SQL 脚本工具
【发布时间】:2016-12-12 10:58:09
【问题描述】:

我在 derby 中使用以下 maven 依赖项

<dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.8.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbyclient</artifactId>
            <version>10.8.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbynet</artifactId>
            <version>10.8.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbytools</artifactId>
            <version>10.8.3.0</version>
        </dependency>

我能够运行连接到 derby 的 java 代码,还能够从 java 代码中的表中获取记录。

但我想运行“derby ij 交互式 SQL 脚本工具”,所以请建议我,因为我不知道在 maven 的情况下运行它。

如果我们直接从 Apache 站点下载 derby.zip,我知道如何运行它

【问题讨论】:

标签: java database maven derby


【解决方案1】:

我的 pom 中有以下依赖项:

<!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>10.13.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.derby/derbytools -->
<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derbytools</artifactId>
    <version>10.13.1.1</version>
</dependency>

在 maven 编译后,将下载依赖项,我在我的 Unix 系统上运行 ij,如下所示:

java -cp ~/.m2/repository/org/apache/derby/derbytools/10.13.1.1/derbytools-10.13.1.1.jar org.apache.derby.tools.ij

您也可以从您的 Java 代码中运行 ij:

static void derby(String jdbcUrl, String initScriptPath)
throws SQLException, UnsupportedEncodingException, FileNotFoundException {
    Connection conn = DriverManager.getConnection(jdbcUrl);
    org.apache.derby.tools.ij.runScript(conn, new FileInputStream(initScriptPath), StandardCharsets.UTF_8.name(), System.out, StandardCharsets.UTF_8.name());
}

如果您经常使用交互式 ij 工具,您可能会将 derbytools jar 的路径放在您的 CLASSPATH 中。在这种情况下,在 /usr/local 或类似的地方进行 derby 安装可能是一个好主意。这样,您就不会依赖于 maven 存储依赖项的方式。

【讨论】:

    猜你喜欢
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多