“找不到类:无法加载jdbc驱动程序org.apache.derby.jdbc.embeddeddriver”,尽管在类路径中包含了必需的JAR

cwdobuhd  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(599)

在遵循本教程的同时,为了测试是否一切都设置正确,我从eclipse运行了“setup”ant目标。以下是我收到的错误消息:

Buildfile: C:\Users\bingis_khan\eclipse-workspace\JDBCTutorial\build.xml
setup:
drop-tables:
     [echo] C:\Users\bingis_khan\eclipse-workspace\JDBCTutorial\classes;C:\Users\bingis_khan\Downloads\db-derby-10.15.2.0-bin\db-derby-10.15.2.0-bin\lib\derby.jar;C:\Users\bingis_khan\eclipse-workspace\JDBCTutorial\lib\JDBCTutorial.jar;C:\apache\xalan-j_2_7_2\xalan.jar

BUILD FAILED
C:\Users\bingis_khan\eclipse-workspace\JDBCTutorial\build.xml:141: The following error occurred while executing this line:
C:\Users\bingis_khan\eclipse-workspace\JDBCTutorial\build.xml:84: Class Not Found: JDBC driver org.apache.derby.jdbc.EmbeddedDriver could not be loaded

Total time: 374 milliseconds

这里的[echo]设置为打印类路径。如下一节所示,classpath中的路径与这些存档的实际位置匹配:

Directory of C:\Users\bingis_khan\Downloads\db-derby-10.15.2.0-bin\db-derby-10.15.2.0-bin\lib

04/20/2021  08:57 PM    <DIR>          .
04/20/2021  08:57 PM    <DIR>          ..
04/20/2021  08:57 PM         3,683,035 derby.jar
04/20/2021  08:57 PM             1,490 derby.war
04/20/2021  08:57 PM           601,103 derbyclient.jar
04/20/2021  08:57 PM            83,942 derbyLocale_cs.jar
04/20/2021  08:57 PM            99,882 derbyLocale_de_DE.jar

* snip*

我试过的:
尝试将反斜杠改为斜杠,反之亦然。
尝试将derby.jar更改为derbyclient.jar。
以防万一,将归档文件(在ant之外)导入到eclipse项目中。上述方法都不起作用(甚至改变了“setup”的输出)。
我看过的地方:
这里-poster没有将derby.jar添加到类路径。
同样在这里-不同的情况下,但仍然适用的解决方案-没有。
其他一些,但大多数是指运行时classnotfoundexception。我还没走那么远。。。
编辑:同时附加相关的ant目标:

<target name="drop-tables">
    <echo>${toString:CLASSPATH}</echo>
    <sql driver="${DB.DRIVER}" url="${DB.URL}" userid="${DB.USER}"
         password="${DB.PASSWORD}" classpathref="CLASSPATH"
         delimiter="${DB.DELIMITER}" autocommit="false" onerror="continue">
      <transaction src="./sql/${DB.VENDOR}/drop-tables.sql"></transaction>
    </sql>
  </target>
apeeds0o

apeeds0o1#

既然你用的是Derby10.15,你就必须 derbyshared.jar 在嵌入驱动程序的类路径中。
更多信息请参见:http://db.apache.org/derby/releases/release-10.15.1.3.cgi#release%20notes%20for%20apache%20derby%2010.15.1.3
特别注意这一部分:
添加了一个新的jar文件(derbyshared.jar)。所有的德比配置都需要它。此外,在运行网络服务器、使用derby数据源和直接引用jdbc驱动程序时,现在需要derbytools.jar库。

相关问题