【发布时间】:2012-12-18 08:45:42
【问题描述】:
我在 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 文件并且它也存在。
【问题讨论】:
-
您是如何将 JDBC 驱动程序安装到 AS7 的?你是如何定义你的数据源的(即你是使用 WebConsole 还是 CLI)。还有你使用的是哪个 MySQL JAR?
-
我直接把mysql-connector-java-5.1.15.jar放在$JBOSS_HOME/standalone/deployments中。我通过管理 web 控制台定义数据源