2017-03-16 57 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倉庫中設置。