我正在使用以下maven依赖项进行derby
<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代码中从表中获取记录。
但是我想运行&#34; derby ij交互式SQL脚本工具&#34;所以请建议我,因为我不知道在maven的情况下运行它。
如果我们直接从Apache网站下载derby.zip,我知道如何运行它
答案 0 :(得分:0)
我的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工具,可以将路径放在CLASSPATH中的derbytools jar中。在这种情况下,可能是一个好主意,在/ usr / local或类似的地方进行derby安装。这样,您就不会依赖maven存储依赖关系的方式。