我想将 SQLite 与我的 Java Servlet 服务器一起使用。所以我写了一个单例数据库 Controller ,我在我的 init
中初始化它。我的 servlet 中的函数。当我到达以下行时
Connection connection = DriverManager.getConnection(url);
我收到此异常:
java.sql.SQLException: No suitable driver found for jdbc:sqlite:database.db
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Controller.Database.SQLiteDataBase.getInstance(SQLiteDataBase.java:22)
at Controller.Servlets.login.loginController.init(loginController.java:45)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1174)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1090)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:770)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:417)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
我测试了在 servlet 应用程序之外的新项目中建立连接,一切正常。
我正在使用 Eclipse Jee Oxygen 并使用“添加外部 JAR..”来添加 sqlite-jdbc-3.21.0.jar
我可以做什么来解决这个问题?我已经尝试过 .db 文件的绝对路径和相对路径。
最佳答案
您需要将 sqlite-jdbc-3.21.0.jar 添加到您的服务器类路径中,您可以将其放在 tomcat 服务器的 lib 文件夹中,也可以将此 jar 放在 tomcat 服务器的 WEB-INF/lib 文件夹中您的项目。
关于java - 没有找到适合 jdbc :sqlite:database. db 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48530122/