我正在尝试为 Java 程序加载 JDBC postgreSQL 驱动程序。我知道这在互联网上随处可见。我尝试了很多解决方案,但没有一个对我有用。
问题是我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError:
classes/com/freire/test/JDBCExample/class
Caused by: java.lang.ClassNotFoundException: classes.com.freire.test.JDBCExample.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
我的代码如下所示:
package com.freire.test;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
public class JDBCExample
{
public static void main(String[] argv)
{
System.out.println("JDBC Connection Testing");
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
System.out.println("PostgreSQL JDBC Driver not included!");
}
}
}
我的项目的结构如下所示:
myProject
src
com
freire
test
JDBCExample.java
classes
com
freire
test
JDBCExample.class
lib
postgresql-9.2-1003.jdbc3.jar
编译工作正常:
java -d classes/ src/com/freire/test/JDBCExample.java
但执行会产生错误:
java classes/com/freire/test/JDBCExample
值得一提的是,我正在开发 OS X Mountain Lion。
任何帮助将不胜感激。
首先,您需要使用提及包名称.
代替/
运行java程序时:
转到您的类目录并运行 JDBCExample,如下所示:
java com.freire.test.JDBCExample
但现在它会因为找不到 postgres 驱动程序类而哭泣,因为类路径中缺少 postgres jar。因此,您需要在运行程序时使用 classpath 选项并将 postgres jar 添加到类路径中:
对于窗户:
java -cp .;../lib/postgresql-9.2-1003.jdbc3.jar com.freire.test.JDBCExample
对于Linux:
java -cp .:../lib/postgresql-9.2-1003.jdbc3.jar com.freire.test.JDBCExample
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)