我已经开始处理在 process-resources 阶段运行的脚本(不是我的想法,当我得到它时就是这样)。它执行sql脚本来清理db。我需要将它从命令行工具迁移到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阶段问题。更改标题以反映该内容。
答案 0 :(得分:0)
我猜你需要在构建阶段添加包含net.sourceforge.jtds.jdbc.Driver
的jar作为依赖项。也就是说,不是构建依赖项,而是构建阶段在类路径上可用的东西。
为此,我相信您需要将此jar文件作为依赖项添加到您的某个插件中。请参阅maven书中的这些信息:
请注意,我没有尝试过,我不确定这是否有效,但这可以作为一种可能的解决方案。