举个例子:某个项目在缺少依赖包的情况下

提示很明显,缺少驱动包"com.mysql.cj.jdbc.Driver"

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Java

图片中的代码:

package ex02;
import java.sql.*;


public class JDBC01 {
	// JDBC连接的URL,需要指定数据库名称和用户名密码
    static final String JDBC_URL = "jdbc:mysql://localhost:3306/testdb";
    static final String JDBC_USER = "root";
    static final String JDBC_PASSWORD = "P@ssw0rd";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // 1. 注册MySQL JDBC驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 2. 打开连接
            System.out.println("连接到数据库...");
            conn = DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASSWORD);

            // 3. 执行查询
            System.out.println("创建Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name FROM testtable";
            rs = stmt.executeQuery(sql);

            // 4. 处理结果集
            while (rs.next()) {
                // 获取字段值
                int id = rs.getInt("id");
                String name = rs.getString("name");

                // 输出数据
                System.out.print("ID: " + id);
                System.out.print(", Name: " + name);
                System.out.println();
            }

            // 5. 更新数据
            System.out.println("更新数据...");
            sql = "UPDATE testtable SET name='xiaml' WHERE id=1";
            int rowsUpdated = stmt.executeUpdate(sql);
            System.out.println("已更新 " + rowsUpdated + " 行数据。");
            
            // 6. 执行查询修改后的结果
            System.out.println("查询修改后的结果...");
            sql = "SELECT id, name FROM testtable WHERE id=1";
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                // 获取字段值
                int id = rs.getInt("id");
                String name = rs.getString("name");

                // 输出数据
                System.out.print("ID: " + id);
                System.out.print(", Name: " + name);
                System.out.println();
            }
            System.out.println();
        } catch (SQLException se) {
            // 处理JDBC错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理Class.forName错误
            e.printStackTrace();
        } finally {
            // 6. 关闭资源
            try {
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}


/*
连接到数据库...
创建Statement对象...
ID: 1, Name: xiaml
ID: 2, Name: xml
ID: 3, Name: bell
ID: 4, Name: tom
ID: 5, Name: John
ID: 6, Name: xiamingliang
更新数据...
已更新 1 行数据。
查询修改后的结果...
ID: 1, Name: xiaml

Goodbye!
*/

如何解决呢?

1.我们这里缺少的mysql jdbc驱动包:mysql-connector-j-8.4.0.jar,因此来到mysql官网进行下载

Windows下就选择"Platform independent"

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_包导入_02

我们下载zip的包。

2.在项目的根目录创建存放jar包的文件夹,建议名字叫libs

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_jar_03

3.将刚下载的zip包解压并将其中的.jar的文件复制到libs文件夹里。

只需要复制.jar的文件就好了。

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Java_04


【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Java_05


【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Java_06


4.在IDE(我这里是Eclipse)的项目根文件夹上单极鼠标右键,选择"Properties "后,依次点击:"Java Build Path"->"Libraries"-"Classpath"->"Add JARs..."

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_jar_07

找到我们放在libs目录下的jar文件

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Java_08


【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_Maven_09

确定后,在我们项目下的"Referenced Libraries"下可以看到我们导入的jar包就说明导入成功了。

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_夏明亮_10

再次运行程序就不会报错了。

【Java】不使用Maven的情况下如何为Java项目导入第三方jar包_jar_11

我们整个例子中,恰巧mysql-connector-j-8.4.0.jar不需要再依赖其他的第三方包了,因此,导入一次就可以了。但是实际情况中有可能导入依赖的jar包后发现它本身又依赖其他的jar包,那就需要我们反复找到他们并逐一导入,是比较繁琐的,为Maven作为包管理器就可以轻松地解决这些依赖问题。

手动导入的方法适合很小的测试类项目不想要使用Maven或者想要了解java程序包依赖管理的整个过程时使用。