java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:198) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClassjava.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:198) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265) at java.lang.ClassLoader.loadClass(ClassLoader.java:262) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:130) at CreateCoffees.main(CreateCoffees.java:18) oracle.jdbc.driver.OracleDriver SQLException: No suitable driver Press any key to continue...
ClassNotFoundException: oracle.jdbc.driver.OracleDriver
SQLException: No suitable driver
Press any key to continue...
把
System.err.println开头的语句
改成
e.printStackTrace();
把出错信息打出来
贴上
我看一看
不过 不一定能解决哦
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClassjava.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at CreateCoffees.main(CreateCoffees.java:18)
oracle.jdbc.driver.OracleDriver
SQLException: No suitable driver
Press any key to continue...
很明显没有找到这个oracle.jdbc.driver.OracleDriver类
估计
你的路径设的有问题
你仔细检查一下classpath,确保指向了classes12.zip,另外jokerjava(冷血)说得对,你应该加上端口号
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;D:\Oracle\Ora81\orb\classes\yoj.jar;D:\Oracle\Ora81\orb\classes\share.zip;d:\oracle\ora81\jdbc\lib\class12.zip
这可是我安装的oracle的路径,
你的classpath设在何处
C:\>java -classpath .; CreateCoffees这里是你说的两句话
no suitable driver,我已经设置了驱classpath=d:\java\lib\classes12.zip这是我的classpath,最后是设置它的
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;D:\Oracle\Ora81\orb\classes\yoj.jar;D:\Oracle\Ora81\orb\classes\share.zip;d:\oracle\ora81\jdbc\lib\class12.zip你仔细看看这两句话 你已经用了两个不同的名字 class12.zip
和classes12.zip我以前用过 现在忘了 你仔细看看文件的文字然后再 命令行里
输入
C:\>java -classpath d:\oracle\ora81\jdbc\lib\class12.zip(classes12.zip) CreateCoffees 运行试一下
你注意一下文件的名字
是classes12.zip 还是class12.zip然后在命令行里输入
java -classpath d:\oracle\ora81\jdbc\lib\class12.zip(或者classes12.zip) 你的程序编译后的CreateCoffees.class的绝对路径如果不行该成java -classpath d:\oracle\ora81\jdbc\lib\class11.zip(或者classes11.zip) 你的程序编译后的CreateCoffees.class的绝对路径我不相信
我刚拷的从classpath按照你说的 jokerjava(冷血)
D:\>java d:\test\CreateCoffees.class d:\oracle\ora81\jdbc\lib\classes12.zip
Exception in thread "main" java.lang.NoClassDefFoundError: d:\test\CreateCoffees
一字不差
java -classpath d:\oracle\ora81\jdbc\lib\classes12.zip d:\test\CreateCoffees.class拷贝粘贴到命令行里
一字不差
java -classpath d:\oracle\ora81\jdbc\lib\classes12.zip d:\test\CreateCoffees.class拷贝粘贴到命令行里
一字不差java -classpath d:\oracle\ora81\jdbc\lib\classes12.zip d:\test\CreateCoffees拷贝粘贴到命令行里不好意思
把上面的.class去掉
输入如下的命令
一字不差
java -classpath ".;d:\oracle\ora81\jdbc\lib\classes12.zip" CreateCoffees拷贝粘贴到命令行里不好意思 糊涂了
D:\>javac d:\test\CreateCoffees.javaD:\>java -classpath d:\oracle\ora81\jdbc\lib\classes12.zip d:\test\CreateCoffees
.class(我也试了一下不把.class输上,同着一样也不行)
Exception in thread "main" java.lang.NoClassDefFoundError: d:\test\CreateCoffees
/classD:\>java d:\test\CreateCoffees
Exception in thread "main" java.lang.NoClassDefFoundError: d:\test\CreateCoffees
这样也不行奇怪的是,看下面
D:\>cd testD:\test>java CreateCoffees
SQLException: ORA-00955: 名称已被现有对象占用(这表示成功了)最奇怪的是我用jcreater运行,还抱找不到驱动那个错误。
为什么
D:\>java d:\test\CreateCoffees 不行
而
D:\>cd testD:\test>java CreateCoffees
就可以呢?我用jcretator运行同一个程序,为什么报找不到驱动呢?
而在dos却可以运行成功。
不会吧
你用jcreate运行
你在系统变量里加这些东西 有什么用在jcreate里设设需要的lib吧
我用的是jb
jcreate不会设
应该很简单
不会吧
你用jcreate运行
你在系统变量里加这些东西 有什么用在jcreate里设设需要的lib吧
我用的是jb
jcreate不会设
应该很简单
在系统变量里设置classpath有什么用两码事 谁也不挨谁在jcreate设置一下lib吧我用jb没用过jcreate不过 肯定很简单
还有一个疑问
D:\>java d:\test\CreateCoffees
Exception in thread "main" java.lang.NoClassDefFoundError: d:\test\CreateCoffeesD:\>cd testD:\test>java CreateCoffees(这样就可以)
可以这样写
D:\>java -classpath "d:\test" CreateCoffees
你仔细看看和下面这句话的区别 应该能明白
D:\>java d:\test\CreateCoffees