相关疑难解决方法(0)

如何在不面向java.lang.ClassNotFoundexception的情况下在Eclipse Web项目中安装JDBC驱动程序

有一个非常类似的问题,但在我的情况下,我的构建路径中没有任何重复的jar,所以解决方案对我不起作用.我现在已经搜索了谷歌几个小时,但我找到的解决方案都没有解决我的问题.我正在创建一个带有一些数据库连接的网站来完成作业.我正在使用MySQL数据库,在Eclipse中开发并在Windows上运行.

我一直在java.lang.ClassNotFoundException: com.mysql.jdbc.Driver使用以下代码:

import java.sql.*;
//...
public void someMethodInMyServlet(PrintWriter out)
{
    Connection connection = null;
    PreparedStatement query = null;
    try {

        out.println("Create the driver instance.<br>");
        Class.forName("com.mysql.jdbc.Driver").newInstance();

        out.println("Get the connection.<br>");
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret");
        query = connection.prepareStatement( "SELECT * FROM customers");

        //...
    } catch (Exception e)
    {
        out.println(e.toString()+"<br>");
    }
}
//...
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,我得到以下输出:

Create the driver instance.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)

它没有超越Class.forName...线,我无法弄清楚为什么!这是我做的:

  1. 下载mysql-connector.
  2. 把它放在我的MySQL文件夹中C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar.
  3. 在Eclipse中打开项目属性.
  4. 添加外部Jar到我的构建路径,我选择了mysql-connector-java-5.1.12-bin.jar.

每当我尝试使用servlet时,无论我是否有jar或者我没有,我都会得到相同的错误.你能帮我搞清楚吗?

eclipse jdbc java-ee classnotfoundexception

22
推荐指数
1
解决办法
12万
查看次数

tomcat7:无法加载JDBC驱动程序类[com.mysql.jdbc.Driver]

我在stackoverflow上看到了几个类似的问题,但它们并没有解决我的问题.这个特别有用,因为它指向官方tomcat文档 ,特别是本节.

简而言之,提供的解决方案是:tomcat需要将jdbc数据库驱动程序复制到$CATALINA_HOME/lib,因为它不会找到它们WEB-INF/lib/.好吧,但它仍然不适合我,我变得疯了.

让我们看看您是否可以提供任何进一步的想法.

环境是Windows XP,Tomcat7,Eclipse Indigo,Java6和Spring3.

mysql-connector 已被复制到 $CATALINA_HOME/lib

C:\>dir "c:\Program Files\Apache-Tomcat-7.0.12\lib"\mysql*
[...]
/2012  13:39           877.094 mysql-connector-java-5.1.21.jar
[...]
C:\>
Run Code Online (Sandbox Code Playgroud)

您可能知道Eclipse的Tomcat集成为其部署(CATALINA_BASE)创建了一个特定于WTP的目录,所以我也在那里复制了mysql-connector(我没有尝试过使用mysql-conector.jarin CATALINA_HOME,in CATALINA_BASE和in两者):

C:\>dir c:\Share\genesis\wsEclipse-indigo\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\lib
[...]
29/08/2012  13:39           877.094 mysql-connector-java-5.1.21.jar
[...]
C:\>
Run Code Online (Sandbox Code Playgroud)

据我了解Tomcat的catalina.properties文件,它们都被添加到类路径中,所以我没想到会有什么不同,但我试过,以防万一.

我的spring数据源定义非常简单:

  <bean id="securityDataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/venus" />
    <property name="username" value="root" />
    <property name="password" value="" />
  </bean>
Run Code Online (Sandbox Code Playgroud)

但是当我重新启动tomcat时,我收到以下错误:

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error …
Run Code Online (Sandbox Code Playgroud)

mysql spring tomcat tomcat7

13
推荐指数
1
解决办法
4万
查看次数