java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (maven + jboss) [英] java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (maven + jboss)

查看:29
本文介绍了java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (maven + jboss)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

maven pom.xml

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").

In code Im trying to execute Class.forName("com.mysql.jdbc.Driver").

我明白了:

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

但我已经检查过我在 jboss-as-7.0.2.FinalstandalonedeploymentsTest.warWEB-INFlib 中有 mysql.jar 并且它有 com.mysql.jdbc.Driver 类.

But I have checked I have mysql.jar in jboss-as-7.0.2.FinalstandalonedeploymentsTest.warWEB-INFlib and it has com.mysql.jdbc.Driver class.

推荐答案

作为一项规则,您不应将 JDBC 驱动程序包含在您的 war 文件中.

As a rule you should not be including your JDBC drivers in your war file.

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

I suggest you mark the driver as provided and add it to the lib directory of the server.

附注.我不确定你为什么要使用

PS. I'm not sure why you would be using

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

在您的代码中.为什么不让包含管理您的连接和交易?

in your code. Why not let the contain manage your connections and transactions?

这篇关于java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (maven + jboss)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆