首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jboss jboss-as-7.1.2.最后的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

jboss jboss-as-7.1.2.最后的java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
EN

Stack Overflow用户
提问于 2013-01-16 07:35:00
回答 1查看 449关注 0票数 0

我在Jboss中有一个新的应用程序,使用一个在启动时试图连接到MySQL DB的.war文件(init方法),我修改了并添加了以下驱动程序:https://zorq.net/b/2011/07/12/adding-a-mysql-datasource-to-jboss-as-7/

在启动日志中,我可以看到驱动程序和数据源正在正确加载:

代码语言:javascript
复制
23:19:30,565 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 28) JBAS010404: **Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver** (version 5.1)
23:19:30,748 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "mysql-connector-java-5.1.22-bin.jar"
23:19:30,750 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: **Bound data source [java:jboss/datasources/opencall]**
23:19:30,933 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010404: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)
23:19:30,954 INFO  [org.jboss.as.osgi] (MSC service thread 1-1) JBAS011907: Register module: Module "deployment.mysql-connector-java-5.1.22-bin.jar:main" from Service Module Loader

但我看到:

代码语言:javascript
复制
23:18:50,959 ERROR [stderr] (MSC service thread 1-5) java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "deployment.opencall-2.1.0-SNAPSHOT.war:main" from Service Module Loader]
23:18:50,959 ERROR [stderr] (MSC service thread 1-5)    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)

在那之后,我看到:

代码语言:javascript
复制
23:18:51,700 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS018559: Deployed "mysql-connector-java-5.1.22-bin.jar"

我认为问题在于我的应用程序是在mysql驱动程序加载之前启动的。但是在部署之前,不知道如何在启动时强制我的应用程序使用mysql驱动程序。这是我的代码:当我在没有Jboss的情况下运行它,只有当我部署war文件失败时,它才能正常工作。

代码语言:javascript
复制
try {

    Class.forName(dbClass).newInstance();

} catch (InstantiationException e) {
    logger.error("InstantiationException() Exception");
    e.printStackTrace();
} catch (IllegalAccessException e) {
    logger.error("IllegalAccessException() Exception");
    e.printStackTrace();
}
        if (dbPassword.equals(null))
    dbPassword="";
    Connection dbConnection = DriverManager.getConnection (dbUrl,dbUserName,dbPassword);
    dbConnection.close();

发现如下:这是一个类似的问题:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-09 09:24:00

代码语言:javascript
复制
<!-- mysql dependencies -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.23</version>
    </dependency>

在maven依赖项(pom.xml)中添加mysql,然后重新构建

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14353364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档