【发布时间】:2017-03-16 16:54:12
【问题描述】:
我正在尝试将数据库实现到 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);
}
}
}
谢谢
【问题讨论】:
-
Maven 默认情况下不会在内置工件中打包依赖项。你必须用
assembly-plugin或类似的东西明确提到这一点。如果是 webapp,可以将驱动 jar 复制到容器的 lib 目录下。但是,附加完整的 pom 会有所帮助
标签: java database sqlite maven tomcat