Java squirrelsql&;Windows上的H2插件:ClassNotFoundException:org.H2.Driver

Java squirrelsql&;Windows上的H2插件:ClassNotFoundException:org.H2.Driver,java,h2,squirrel-sql,Java,H2,Squirrel Sql,我正在尝试使用SquirrelSQL客户端连接到H2服务器实例 我面临的问题是,当我点击要连接的服务器的“连接”按钮时,我会得到一个: ClassNotFoundException: org.h2.Driver 我认为这是因为h2.jar不在类路径中。然后我编辑了squirrelsql.bar,尝试了两件事 我尝试的第一件事是将JAR添加到路径中,如下所示: SET PATH=%PATH%;C:\Program Files\squirrel-sql-3.5.3\plugins\h2.jar

我正在尝试使用SquirrelSQL客户端连接到H2服务器实例

我面临的问题是,当我点击要连接的服务器的“连接”按钮时,我会得到一个:

ClassNotFoundException: org.h2.Driver
我认为这是因为h2.jar不在类路径中。然后我编辑了
squirrelsql.bar
,尝试了两件事

我尝试的第一件事是将JAR添加到
路径中,如下所示:

SET PATH=%PATH%;C:\Program Files\squirrel-sql-3.5.3\plugins\h2.jar
然后我重新启动了松鼠。同样的错误

然后我试着加上:

set TMP_CP=%TMP_CP%;"C:\Program Files\squirrel-sql-3.5.3\plugins\h2.jar"
然后我重新启动了松鼠。同样的错误

当我查看控制台时,我可以看到h2.jar在
路径中和/或
SQUIRREL\u CP
中,但相同的错误总是发生


我想知道我是否忘记了如何安装/配置SQuirrel和/或H2?

我发现了问题所在。我链接到Squirrel SQL中的h2文件。但是,我必须从h2应用程序链接到h2文件。。。我解决问题的方法是在addpath.bat文件中添加一行,使该文件看起来像:

set TMP_CP=%TMP_CP%;%1
set TMP_CP=%TMP_CP%;"C:\Program Files (x86)\H2\bin\h2-1.4.181.jar"

然后我重新启动了SquirrelSQL,一切都正常工作

不是每次使用不同的驱动程序时都修改批处理文件,而是通过GUI修改驱动程序类路径

双击“驱动程序”选项卡中相应的驱动程序,然后单击“额外类路径”选项卡并添加驱动程序jar


您可以在帮助文件的SQuirreL部分的“如何连接到数据库”下找到更多信息。在SQuirreL中按F1键可查看帮助文件。您可以在

上看到一个屏幕截图,我列出了添加驱动程序所遵循的确切步骤,尽管Colin Bell已经给出了一个很好的答案,但没有遵循最后的步骤4。我还是没能让它工作

  • 下载并保存到某个地方,在我的例子中是
    ~/drivers/h2 latest.jar
  • 编辑现有的h2驱动程序
  • 在“额外类路径”选项卡上添加驱动程序
  • 单击“列出驱动程序”-
    org.h2。驱动程序应出现在“类名”字段中(如科林答案中的链接所述:)
  • 我错过了单击“列出驱动程序”的最后一步,因为在我尝试添加它之前,“类名”中已经有了
    org.h2.Driver
    。但如果没有这一步,它仍然会产生错误:
    在Java类路径或h2驱动程序定义的额外类路径中都找不到类org.h2.Driver:
    
    java.lang.ClassNotFoundException:org.h2.Driver

    答案不错,这解决了我的问题:“额外类路径”。还有更多:这里要填充的jar文件路径可能是刚下载的jar,但我建议您在/.m2/dir中引用同一文件的其他实例,您可能通过Maven拥有该实例。(这对我很有用)…好处是,你只有一个版本的库,你的所有应用程序项目都使用相同版本的松鼠。因此,当你设置H2驱动程序时,直到红色驱动程序图标变为绿色时,当你重新启动松鼠。然后,设置别名:连接字符串。请注意,很遗憾,您设置的任何复选框(即自动登录)都无法更改。(您将不得不再次设置别名,与您期望的不同。)关于env vars:使用了“额外类路径”(在Squirrel内部)和Maven,您不需要在操作系统中设置任何新的环境变量。(反对前面的答案)