将sql与java一起使用-编译成.jar-“;ClassNotFoundException com.mysql.jdbc.Driver“;
我想尝试在Java中使用SQL,所以我下载了mysql-connector-Java-5.1.18-bin.jar 我正在使用Eclipse,所以我进入Eclipse,Project->Properties并添加了jar文件 我还将以下内容添加到我的类路径中:将sql与java一起使用-编译成.jar-“;ClassNotFoundException com.mysql.jdbc.Driver“;,java,sql,jar,Java,Sql,Jar,我想尝试在Java中使用SQL,所以我下载了mysql-connector-Java-5.1.18-bin.jar 我正在使用Eclipse,所以我进入Eclipse,Project->Properties并添加了jar文件 我还将以下内容添加到我的类路径中: C:\Users\shahin\Desktop\mysql-connector-java-5.1.18\com\mysql\jdbc\ C:\Users\shahin\Desktop\mysql-connector-java-5.1.18
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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 Main.main(Main.java:15)
这是因为运行jar时,
mysql-connector-java-5.1.18-bin.jar
不在类路径中
在.jar
文件中应该有一个META-INF/MANIFEST.MF
文件。您需要在该文件中为类路径输入一个条目,该条目指向mysql-connector-java-5.1.18-bin.jar
文件所在的位置:
Class-Path: path/to/mysql-connector-java-5.1.18-bin.jar
注意,这可能是您的jar本地的。一种常见的方法是在jar所在的lib
子目录中包含您所依赖的其他jar:
Class-Path: lib/mysql-connector-java-5.1.18-bin.jar
您的mysql.jar类路径很可能已关闭。您的jar是否位于mysql jar附近?(如果没有指向它)要测试这一点,您可以将两者放在同一个目录中,看看它是否运行。什么意思,“当我运行jar文件时”?你是怎么启动的?如果我把它放在罐子里,那会是什么样子/jar-file.jar?你不能把它放在你的jar里。为了完整起见,你不需要它,你只需要在执行时确保它在类路径上。这是一种方法。(除非它被分发,否则不确定它是最好的,但这是一个不同的讨论:)如果其他人想要运行它,我必须将jar和mysql…jar放在一个文件夹中?这太奇怪了。。当我将类路径:添加到清单文件时,它会给我一个“找不到主类”main“……如果我没有在清单文件中包含类路径,它会说classNotFound com.mysql.Driver