首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.ClassNotFoundException:使用Maven在IntelliJ中的com.mysql.jdbc.Driver

问java.lang.ClassNotFoundException:使用Maven在IntelliJ中的com.mysql.jdbc.Driver
EN

Stack Overflow用户
提问于 2017-06-13 01:27:19
回答 1查看 1.9K关注 0票数 0

我想尝试一个示例JDBC练习,所以我使用Maven Quickstart原型创建了一个项目。

代码语言:javascript
复制
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(); 
            . . . .
            . . . .

当我试图运行它时,

代码语言:javascript
复制
mvn package
java -cp target/simple-java-1.0-SNAPSHOT.jar com.test.App

我得到:

代码语言:javascript
复制
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中,它可以正常工作。我试过加一个罐子,但还是不起作用。

我在这里缺少什么?

EN

回答 1

Stack Overflow用户

发布于 2019-08-11 06:31:51

我也面临着同样的问题。我可以通过添加MySQL连接器Maven依赖来解决这个问题。(我只添加了Tomcat插件。)

你不再需要Class.forName("com.mysql.jdbc.Driver");了。

  • Java版本: 10.0.1
  • Intellij IDEA版本: 2018.1.8 (社区版)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44510995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档