SQLite类未找到异常 - 使用Tomcat的Maven项目

时间:2017-03-16 16:54:13

标签: java database sqlite maven tomcat

我正在尝试将数据库实现到maven项目中。我决定使用SQLite,我让它在一个单独的程序中工作,所以认为将它集成到这个项目中应该没问题。

我得到了例外

java.lang.ClassNotFoundException: org.sqlite.JDBC

就行了

Class.forName("org.sqlite.JDBC");

所有在线和这里的内容都谈到了添加jar文件,但我确信我已经正确地添加了它,它是在同一个项目中的eclipse中我引用的库中。完成它在它所做的项目上完成它的方式。

我会将课程发布到正在发生的地方,希望有人可以提供帮助。我认为发布其他课程有什么意义吗?

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import Assignment.rest.model.CD;
    public class CDRepositoryStub implements CDRepository {

        private static Connection con;

        private void getConnection() throws ClassNotFoundException, SQLException {


            Class.forName("org.sqlite.JDBC");
            con= DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Mick\\Desktop\\Year 4\\New folder (2)\\restDatabase.sqlite");

        }

    @Override
        public void create(CD cd) {
            // TODO Auto-generated method stub
            //should issue a insert statement to the db
            try{
            if(con==null)
            {
                getConnection();
            }

            PreparedStatement prep = con.prepareStatement("INSERT INTO data values(?,?,?,?);");
            prep.setString(1, cd.getId());
            prep.setString(2, cd.getTitle());
            prep.setInt(3, cd.getDuration());
            prep.setString(4, cd.getArtistName());

            prep.execute();
            }
            catch(Exception e)
            {
                System.out.println("Exception caught "+e);
            }

        }

由于

3 个答案:

答案 0 :(得分:2)

检查您的依赖项是否包含以下语句

<scope>test</scope>

默认情况下在相应的maven存储库中设置。

答案 1 :(得分:0)

想象你不要在Maven中添加相同的jar,而是将它作为pom.xml文件中的依赖项添加。对于任何想要这样做的人,代码是

<dependency>
  <groupId>org.xerial</groupId>
  <artifactId>sqlite-jdbc</artifactId>
  <version>3.16.1</version>
</dependency>

同时学习SQLite并不是与Maven结合使用的理想数据库,尽管它适用于小型项目等。

答案 2 :(得分:0)

我的解决方案:我运行std::thread scanCOMPort(CheckCOMPort, readVals); 并发现sqlite-jdbc- [版本] .jar文件的标题不正确,这意味着该文件已损坏,在网络上搜索后我强制rm中的所有目录.m2 / repository并再次运行mvn compile,然后它就编译成功了。 希望能帮助那些被同样异常问题迷惑的人。