0

我已经开始处理在进程资源阶段运行的脚本(不是我的想法,当我得到它时就是这样)。它执行 sql 脚本来清理数据库。我需要将它从命令行工具迁移到 Jdbc。

问题是当我尝试加载驱动程序时,我得到:

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver

我曾尝试使用其他数据库系统的驱动程序,但异常总是相同的。驱动程序在 Eclipse 中作为 maven 依赖项可见,它们的范围是“编译”。

我试图以两种方式加载它:

Class.forName("net.sourceforge.jtds.jdbc.Driver")
//and:
def sql = Sql.newInstance(url,user,pass,"net.sourceforge.jtds.jdbc.Driver")

我知道在构建阶段运行这样的脚本不是一个好习惯,但当时仍然可以让这些类可见吗?

[编辑] 可以创建 Driver 类的对象,因此它似乎不是 maven 阶段问题。更改标题以反映这一点。

4

1 回答 1

0

我猜您需要net.sourceforge.jtds.jdbc.Driver在构建阶段添加包含作为依赖项的 jar。也就是说,不是构建依赖项,而是构建阶段类路径中可用的东西。

为此,我相信您需要将此 jar 文件作为依赖项添加到您的插件之一。在 Maven 书中查看此信息:

http://www.sonatype.com/books/mvnref-book/reference/_configuring_maven_plugins.html#_adding_plugin_dependencies

请注意,我没有尝试过这个,我不确定这是否会起作用,但这对我来说是一个可能的解决方案。

于 2013-04-04T03:45:06.670 回答