运行jar的异常 - “线程中的异常”main“java.lang.ClassNotFoundException:com.mysql.jdbc.Driver”
问题描述:
我已经经历了所有建议的问题,仍然没有解决方案。运行jar的异常 - “线程中的异常”main“java.lang.ClassNotFoundException:com.mysql.jdbc.Driver”
我运行Eclipse的JDBC连接的Java程序,它给需要的结果但使相同的代码JAR时和运行Eclipse时我收到错误:
我已经为mysql连接添加了jar文件:mysql-connector-java-5.1.38-bin.jar作为项目的外部jar。
我的源代码:
package com.ari;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
public class Test {
static String dbPath="jdbc:mysql://172.19.24.66:3306/chatdb";
static String dbUser="root";
static String dbPass="root";
static String name="";
public static Connection con;
static PreparedStatement ps=null;
ResultSet rs=null;
static String query="";
public static void main(String arg[]) throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(dbPath,dbUser,dbPass);
query="Insert into user(username) values(?)";
ps=con.prepareStatement(query); // error at this line
Scanner s=new Scanner(System.in);
name=s.next();
ps.setString(1, name);
if(ps.executeUpdate()!=0)
System.out.println("Welcome"+ name+" to chat room.");
}
}
我的清单文件:
Manifest-Version: 1.0
Main-Class: com.ari.Test
答
在编译时使用下列 - >
javac YourJavaFile.java // This will compile your java file.
java -cp .;completePathOfMysqlConnector/mysql-connector-java-5.1.38-bin.jar YourJavaFile //Copy the mysql jar to the class path for the YourJavaFile.class file.
试试这个,让我知道,如果这个工程。 。
+0
抱歉,我没有收到第二条评论 – dexter
答
你有t o在运行命令时指定classpath信息,否则需要将classpath信息添加到jar清单文件中。 请参阅https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html
它无法找到mysql连接器jar。 –
这意味着您没有正确打包可执行JAR的MySQL JAR。 – duffymo
看看http://stackoverflow.com/questions/25186557/how-to-compile-mysql-jdbc-driver-with-a-java-file-in-cmd –