嗯,关于这个话题讨论了很多线程,但不幸的是没有什么对我有用。
我正在向服务器发送username/pwd
,服务器正在与JDBC client
进行交互。这是我的目标。
但是在执行下面的代码时我得到了上面提到的错误
错误:Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
CLASSPATH在这里可变:
C:\ProgramFiles\Java\jdk1.7.0_17\bin;C:\ProgramFiles\Java\jdk1.7.0_17\db\lib;C:\ProgramFiles\Java\jdk1.7.0_17\db\lib\derbyclient.jar
;
我很确定这个jar包含ClientDriver.class
。
我不知道我错在哪里..任何人都会帮助我。
答案 0 :(得分:0)
几乎从不使用CLASSPATH
环境变量。确保'derbyclient.jar'位于应用程序的实际类路径中。
java -jar ...
一起投放,请确保它位于Class-path
META-INF/MANIFEST.MF
属性中
java -cp ...
运行,请确保它位于-cp
列表中。此外,如果您使用的是JDBC 4兼容驱动程序,则无需调用Class.forName("org.apache.derby.jdbc.ClientDriver")
,则无需调用newInstance()
来加载驱动程序(除非您使用的是Java 1.0或1.1你不是。)
答案 1 :(得分:0)
您必须将derbyclient.jar
添加到YourProject\WebContent\WEB-INF\lib
。不需要将derby.jar
添加到classpath。
这对我很有帮助。