java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 如果项目内置到jar

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver if the project built into jar

我让我的项目使用 NetBeans,当我通过 NetBeans 运行 它时,它可以 运行 正确地完全没有任何错误。 但是,当我将它构建到一个 jar 文件中并尝试登录到我的应用程序时,我收到一个错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)

并在 cmd 中:

我一直在做 this 教程,但没有用。 我已经阅读并遵循了与我在本网站和其他网站上的问题类似的教程,但对我没有任何帮助。

这是我的图书馆:

这是我的代码

 package config;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
/**
 *
 * @author nasution
 */
public class Koneksi {
    private static Connection koneksi;
    public static Statement stm;

    public static Connection getKoneksi() throws ClassNotFoundException{
        try{
            Class.forName("com.mysql.jdbc.Driver");
                koneksi = DriverManager.getConnection("jdbc:mysql://localhost/db_surat","root","");
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, "koneksi gagal"+ e.getMessage());
        }
        return koneksi;
    }

}

这是我已经转换为 jar 的项目:

这是我在构建项目时生成的文件夹 "dist/lib" 中的库

您需要在 /META-INF/MANIFEST.MF manifest file. If you look at Adding Classes to the JAR File's Classpath 中声明所需的库,语法为:

Class-Path: lib/mysql-connector-java-5.1.23-bin.jar

您将如何修改 /META-INF/MANIFEST.MF 取决于您的 JAR 打包机制,其中大多数都为您提供了自动生成此文件的选项。