我想尝试一个示例JDBC练习,所以我使用Maven Quickstart原型创建了一个项目。
public class App {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/testdb";
static final String USER = "root";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
System.out.println("Creating statement...");
stmt = conn.createStatement();
. . . .
. . . .当我试图运行它时,
mvn package
java -cp target/simple-java-1.0-SNAPSHOT.jar com.test.App我得到:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.test.App.main(App.java:24)但是,如果我只是尝试直接运行应用程序,比如,将它作为一个应用程序运行在IntelliJ中,它可以正常工作。我试过加一个罐子,但还是不起作用。
我在这里缺少什么?
发布于 2019-08-11 06:31:51
我也面临着同样的问题。我可以通过添加MySQL连接器Maven依赖来解决这个问题。(我只添加了Tomcat插件。)
你不再需要Class.forName("com.mysql.jdbc.Driver");了。
https://stackoverflow.com/questions/44510995
复制相似问题