在遵循本教程的同时,为了测试是否一切都设置正确,我从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>
1条答案
按热度按时间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库。