如何在Eclipse web项目中安装JDBC驱动程序而不面临java.lang.ClassNotFoundexception
但在我的情况下,我的构建路径中没有任何重复的jar,因此解决方案对我不起作用。我已经在谷歌搜索了几个小时了,但我在那里找到的任何解决方案都不能解决我的问题。我正在为家庭作业创建一个带有数据库连接的网站。我使用的是MySQL数据库,在Eclipse中开发,在Windows上运行 我不断得到如何在Eclipse web项目中安装JDBC驱动程序而不面临java.lang.ClassNotFoundexception,eclipse,jakarta-ee,jdbc,classnotfoundexception,Eclipse,Jakarta Ee,Jdbc,Classnotfoundexception,但在我的情况下,我的构建路径中没有任何重复的jar,因此解决方案对我不起作用。我已经在谷歌搜索了几个小时了,但我在那里找到的任何解决方案都不能解决我的问题。我正在为家庭作业创建一个带有数据库连接的网站。我使用的是MySQL数据库,在Eclipse中开发,在Windows上运行 我不断得到java.lang.ClassNotFoundException:com.mysql.jdbc.Driver,代码如下: import java.sql.*; //... public void someMeth
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>");
}
}
//...
它没有通过类。forName…
行,我不知道为什么!以下是我所做的:
C:\ProgramFiles\MySQL\MySQL-connector-java-5.1.12\MySQL-connector-java-5.1.12-bin.jar
李>
mysql-connector-java-5.1.12-bin.Jar
每次我尝试使用servlet时,我都会得到相同的错误,不管我是否有jar。您能帮我解决这个问题吗?因为您是在
servlet
中运行它,所以您需要让servlet容器能够访问jar。您可以将连接器作为应用程序war
的一部分,也可以将其作为servlet容器的扩展库和数据源管理内容的一部分(如果有的话)。第二部分完全取决于您拥有的容器。对于webapp使用的JAR文件样式的每个“第三方”库,只需将物理JAR文件复制/删除到webapp的/WEB-INF/lib
中即可。然后它将在webapp的默认类路径中可用。此外,Eclipse足够聪明,可以注意到这一点。无需与buildpath争论。但是,请确保删除之前添加的所有不必要的引用,否则可能会发生冲突
另一种方法是通过将物理JAR文件放到服务器自己的/lib
文件夹中,将其安装到服务器本身中。当您使用服务器提供的JDBC连接池数据源时,这是必需的,而JDBC连接池数据源又需要MySQL JDBC驱动程序
另见:
main()
,不如尝试以下类似的操作,这些操作是根据随附文档改编的:
public class LoadDriver {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
}
}
在我的平台上,我会这样做:
$ ls mysql-connector-java-5.1.12-bin.jar
mysql-connector-java-5.1.12-bin.jar
$ javac LoadDriver.java
$ java -cp mysql-connector-java-5.1.12-bin.jar:. LoadDriver
$ls mysql-connector-java-5.1.12-bin.jar
mysql-connector-java-5.1.12-bin.jar
$javac LoadDriver.java
$java-cp mysql-connector-java-5.1.12-bin.jar:。装载机
在您的平台上,您需要使用
代码>作为路径分隔符,如前所述和。将mysql-connector-java-5.1.6-bin.jar放在\Apache-Tomcat 6.0.18\lib文件夹中。您的问题将得到解决。只需执行以下步骤:
1) 安装eclipse
2) 将Apache导入eclipse
3) 安装mysql
4) 下载mysqlconnector/J
5) 解压压缩后的文件并在其中导航,直到将bin文件放入其中。然后将包含bin的文件夹中的所有文件放置到C:\Program files\mysql\mysql server5.1/
然后在eclipse中定义驱动程序时,给出与地址相同的路径
伙计们,这些都很简单。如果问题仍然存在
把-
mysql-connector-java-5.0.8-bin jar位于Tomcat->lib->文件夹中的某个位置(无论您将Tomcat安装在何处)。并更改您的环境变量(通过单击Mycomputer的属性-高级系统设置-环境变量完成,并将新的变量名和变量值设置为lib文件所在的位置。不要忘记在路径的末尾输入a;)
如果问题仍然存在
尝试下载commons-collections-2.0.jar()并将jar粘贴到您的mysql jar所在的位置(即Tomcat lib中)
清理您的项目停止您的服务器-最后尝试运行。我多次遇到此问题,我遇到ClassNotFoundException。
如果jar不在物理位置
因此,请确保.jar文件(mysql连接器)位于WEB-INF库文件夹的物理位置。和
确保使用cmd中的shutdown命令重新启动Tomcat。
它应该可以工作。对我来说唯一有效的解决方案是将.jar文件放在WEB-INF/lib下。希望这会有所帮助 对于此错误:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
您需要:
Import java.sql.*;
Import com.mysql.jdbc.Driver;
即使在应用程序运行之前未使用它。假设您的项目基于maven,请将其添加到POM中:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
mysql
mysql连接器java
5.1.26
保存>构建>并再次测试连接。它起作用了!您的实际mysql java connector版本可能会有所不同。您不应该做的事情(尤其是在处理共享项目时)
好的,在有了同样的问题之后,在阅读了这里和其他地方的一些答案之后。似乎将externallib
放入WEB-INF/lib
并不是一个好主意,因为它会用特定于服务器的库污染webapp/JRE-libs
我不推荐的另一种解决方案是:将其复制到tomcat/lib文件夹中。尽管这可能有效,但管理共享(例如git)项目的依赖关系将很困难
好办法1
创建供应商
文件夹。把所有的外部库都放在那里。然后,将此文件夹作为依赖项映射到项目。在eclipse中,您需要
将文件夹添加到生成路径
项目属性
->Java构建路径
库
->添加外部库或任何其他解决方案以添加文件/文件夹
将生成路径添加到部署程序集()
项目属性
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
java.sql.SQLException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL 'server:port/service'