如果我正在使用maven插件,并且一切正常,但是如何在没有Maven插件的情况下使用Run配置运行它并从那里设置Tomcat。如果我做了一些,则会出现以下错误:
java.sql.SQLException: No suitable driver found for jdbc:hsqldb:mem:db1
使用插件一切正常: Maven项目 - > tomcat7 - > tomcat7:运行
但是当我尝试通过不同的运行配置运行相同的项目时,问题就出现了:
错误来自标记行:
问题可能与运行配置有关?
答案 0 :(得分:1)
Java需要数据库驱动程序才能连接到任何类型的数据库。根据您使用的数据库,只需在项目中包含驱动程序依赖项即可。
您可能会问如何在没有任何驱动程序/数据库依赖性的情况下发生SQLException。这是Java异常,您可以在此处找到更多信息
https://docs.oracle.com/javase/7/docs/api/java/sql/Driver.html
正如文档中所解释的那样,应该有一个驱动程序类的实现,这就是你所面临的问题。
答案 1 :(得分:1)
maven Tomcat插件可能会在初始类路径上加载包含所有库的嵌入式tomcat。将WAR部署到现有Tomcat时,应用程序的库将成为已部署Web应用程序的上下文类路径的一部分。
JDBC 4自动驱动程序加载仅在驱动程序位于初始类路径时才有效。如果驱动程序位于上下文类路径中,则无法自动找到该驱动程序,您需要手动加载它以使其在DriverManager
中注册。
您可以使用
加载驱动程序Class.forName("org.hsqldb.jdbc.JDBCDriver");
当驱动程序类加载时,它将自行注册。