2017-03-16 119 views
0

我正试图将数据库实现为maven项目。我决定使用SQLite,我在一个单独的程序中工作,所以认为将它集成到此项目中应该没有问题。未找到SQLite类异常 - 使用Tomcat的Maven项目

我收到异常

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); 
      } 

     } 

感谢

回答

0

想通了你不加罐子在Maven的相同,而增加一条,作为在pom.xml文件的依赖性。任何人都希望做到这一点的代码是

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

另外据悉SQLite是不是与Maven一起使用的理想数据库虽然很纤细的小项目等

2

检查你的依赖不包含以下声明

<scope>test</scope> 

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