java - 从 Ant/命令行关闭 HSQLDB

标签 java ant hsqldb

我正在尝试编写一个 Ant (1.8.2) 脚本来从命令行关闭 HSQLDB (2.1.0) - 基本上我需要能够从 Windows 批处理文件中关闭 HSQLDB - 在网上搜索后,似乎没有内置的命令行方式来执行此操作 - 如果我错了,请纠正我。

我已经使用附带的批处理文件 runServer.bat 启动了数据库。

这是我的 ant 文件 (shutdown.xml):

<project>

<target name="hsqldb-stop">
  <sql
    classpath="C:\programs\hsqldb\hsqldb-2.1.0\hsqldb\lib"
    driver="org.hsqldb.jdbcDriver"
    url="jdbc:hsqldb:hsql://localhost:9001"
    userid="sa" password=""
    autocommit="true">SHUTDOWN</sql>
</target>

</project>

classpath 是我拥有 C:\programs\hsqldb\hsqldb-2.1.0\hsqldb\lib\hsqldb.jar 文件的地方。 所有其他详细信息都是我在从 Java 访问数据库时使用的,它们确实在那里工作。

当我运行它时,我得到:

>ant -buildfile shutdown.xml
Buildfile: shutdown.xml

BUILD SUCCESSFUL
Total time: 0 seconds

但是数据库没有被关闭。它的外壳仍然打开。 你能看出这里出了什么问题吗?

Ant SQL task

谢谢!

最佳答案

最好明确命名目标,因为您以后可能会添加额外的目标。您可以使用 -verbose 选项显示调试反馈。

ant -verbose -buildfile shutdown.xml hsqldb-stop

由于 OP 发现命令路径中必须包含 jar 文件名:

classpath="C:\programs\hsqldb\hsqldb-2.1.0\hsqldb\lib\hsqldb.jar"

java 命令中的类路径是目录或 jar/zip 名称的集合。 jar 和 zip 文件的名称必须具体指定,因为这些是包含 *.class 文件的压缩“目录”。

关于java - 从 Ant/命令行关闭 HSQLDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7349725/

相关文章:

java - PostgreSQL JDBC 池

spring - 在Spring 3中编译classfile问题

maven - 使用 Maven 通过 SFTP 传输 Artifact

java - Java 中删除注释的脚本

grails - 使用grails时,HSQLDB中表名和列名的约定是什么?

java - 使用Hibernate在HSQL数据库(内存中)中创建模式(注解方法)

java.net.SocketException : Invalid argument: connect 异常

java - 如何从另一种方法打印数组中的特定点? #Java

java - 寻找一种设计模式来定义进行一组 API 调用并在之后采取行动的各种任务

java - 用于大型数据集的嵌入式 Java 数据库