1

我在 JBoss AS7 中部署了一个 war 文件,当我启用它时,它给了我以下错误,

14:00:05,700 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015876: Starting deployment of "JSPServletPoc.war"
14:00:29,749 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-5) JBAS010404: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)
14:00:30,156 INFO  [org.jboss.as.server] (HttpManagementService-threads - 7) JBAS015870: Deploy of deployment "JSPServletPoc.war" was rolled back with failure message {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.JSPServletPoc.JSPServletPoc.env.jdbc.MySQLDSJndijboss.naming.context.java.jboss.resources.jdbc.MySQLDSJndiMissing[jboss.naming.context.java.module.JSPServletPoc.JSPServletPoc.env.jdbc.MySQLDSJndijboss.naming.context.java.jboss.resources.jdbc.MySQLDSJndi]"]}
14:00:30,437 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment JSPServletPoc.war in 236ms
14:00:30,437 INFO  [org.jboss.as.controller] (HttpManagementService-threads - 7) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.jboss.resources.jdbc.MySQLDSJndi (missing) dependents: [service jboss.naming.context.java.module.JSPServletPoc.JSPServletPoc.env.jdbc.MySQLDSJndi] 

我已经将数据源配置为MySQLDSJndi并启用它。

我没有发现将数据源设置为MySQLDSJndi并将 JNDI 名称设置为java:/MySQLDSJndi的数据源有任何问题。此外,我将用户名和密码以及连接 url 指定为jdbc:mysql://localhost:3306/testdb

我也怀疑为什么错误消息,

JBAS010404: Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)

我在 jar 中检查了名为“META-INF/services/java.sql.Driver”的文件,因为该文件使 jar 成为 JDBC 兼容的 jar 文件并且它也存在。

4

2 回答 2

1

驱动程序版本不兼容,您需要先将驱动程序注册为模块。

通读将 JDBC 驱动程序作为模块安装@如何在 Jboss As7 中配置数据源部分

于 2012-12-19T09:23:57.177 回答
0

MySQL 驱动程序不兼容,因为它不支持 SQL-92。AFAIK 复制到$JBOSS_HOME/standalone/deployments 仅适用于兼容的驱动程序,不兼容的驱动程序需要部署为模块

于 2012-12-19T08:57:23.163 回答