【问题标题】:creating a connection in eclipse - ClassNotFoundException: com.mysql.jdbc.Driver在 Eclipse 中创建连接 - ClassNotFoundException: com.mysql.jdbc.Driver
【发布时间】:2013-11-16 12:39:16
【问题描述】:

我没有在代码中做任何事情——我只是创建了一个 Eclipse 连接,但似乎无法 ping 通它。连接属性:


jar 是我说的地方 ($GLASSFISH_HOME\domains\domain1\lib\ext) 但我得到了:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.createConnection(JDBCConnection.java:297)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.internalCreateConnection(DriverConnectionBase.java:105)
    at org.eclipse.datatools.connectivity.DriverConnectionBase.open(DriverConnectionBase.java:54)
    at org.eclipse.datatools.connectivity.drivers.jdbc.JDBCConnection.open(JDBCConnection.java:81)
    at org.eclipse.datatools.enablement.internal.mysql.connection.JDBCMySQLConnectionFactory.createConnection(JDBCMySQLConnectionFactory.java:28)
    at org.eclipse.datatools.connectivity.internal.ConnectionFactoryProvider.createConnection(ConnectionFactoryProvider.java:83)
    at org.eclipse.datatools.connectivity.internal.ConnectionProfile.createConnection(ConnectionProfile.java:359)
    at org.eclipse.datatools.connectivity.ui.PingJob.createTestConnection(PingJob.java:76)
    at org.eclipse.datatools.connectivity.ui.PingJob.run(PingJob.java:59)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

【问题讨论】:

    标签: mysql eclipse jdbc


    【解决方案1】:

    该 zip 很可能是 MySQL Connector/J 的分发 zip,该 zip 内部是带有驱动程序的 mysql-connector-java-5.1.27-bin.jar 库。所以你需要先解压缩,然后添加jar-library 而不是zip。

    【讨论】:

    • 谢谢我发现了,但我想知道eclipse是否应该自己意识到这一点并警告我没有驱动程序?你认为这种情况有资格提交错误报告吗?
    • 它确实会警告您,这就是 ClassNotFoundException 的用途。除此之外,要找出您不知道的库 jar 或 zip 中是否有驱动程序是一个相当困难的问题(除此之外,您可以为驱动程序添加更多库(依赖项)不要(也不应该)包含驱动程序实现。
    • 是的——但它接受一个 zip(注意添加 jar/zip...)——这主要是我的问题...
    • 那是因为 jar 只不过是 zip(而且 - afaik - 在早期,将库作为​​ zip 而不是 jar 并不少见,但并非如此不过现在很常见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2015-05-18
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多