当前位置: 首页 > 面试题库 >

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver(Maven + jboss)

许明朗
2023-03-14
问题内容

maven pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>Test</groupId>
<artifactId>Test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>Test</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.18</version>
    </dependency>
</dependencies>

在代码中,我试图执行Class.forName("com.mysql.jdbc.Driver")

我得到这个:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

但是我检查了我有mysql.jar,jboss-as-7.0.2.Final\standalone\deployments\Test.war\WEB- INF\lib并且它有com.mysql.jdbc.Driver类。


问题答案:

通常,您不应在war文件中包括JDBC驱动程序。

我建议您将驱动程序标记为已提供,并将其添加到服务器的lib目录中。

PS。我不确定您为什么要使用

Class.forName("com.mysql.jdbc.Driver")

在您的代码中。为什么不让容器管理您的联系和交易?



 类似资料:
  • MySQL jar在我的.m2 repo中,我尝试通过mvn命令行显式添加它,但说它已经存在。

  • 问题内容: 编译Java程序时出现此错误 然后我知道应该将的路径添加到java classpath中。我使用的是Windows XP,我在controlpanel / system / enviromental变量中编辑了类路径 类路径是: 所以现在变成: 但是,此外,当我在cmd中键入set classpath时(只是检查当前的classpath是什么),我仍然遇到相同的错误: 谁能帮我解决这个

  • 问题内容: 我有这个小代码,用于将我的jsp连接到我的mysql数据库。 我已将连接器添加到我的构建路径中: 但我仍然收到此错误: java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 有人可以帮我吗? 问题答案: 构建路径用于编译目的(假设您没有将mysql连接器jar包含在软件包中的代码)。 如果这是Web应用程序,请将其添加到lib文件

  • 问题内容: 我是mysql和jdbc的新手,但出现此标题错误。我整天都在搜索,找不到适合我的解决方案。 我尝试过的操作:卸载/重新安装mysql,将mysql-connector- java-5.1.25-bin.jar和ojdbc7.jar复制粘贴到与我要运行的.class文件相同的位置,然后将该程序重建在其他目录中,可能还有其他几件事。 我正在使用notepad ++进行编码,并使用Windo

  • 问题内容: 我有一个Java程序,正在使用 mysql* 数据库连接代码。我在Eclipse的资源文件夹中添加了 mysql-connector- java-3.0.10-stable-bin.jar 和 mysql-connector-java-5.0.4-bin.jar 文件。当我在Eclipse中运行程序时,它运行良好。然后,我创建了一个项目的 .jar 文件,其中包含该jar文件中的所有j

  • 我正试图使用Java连接到我的mysql数据库,但得到错误,我安装了连接器J,并且.jar文件在正确的位置,所以有人能说出问题所在吗?