Wildfly mysql依赖项不可用

时间:2016-03-28 05:42:44

标签: maven java-ee wildfly redhat jboss-forge

我正在使用mavenjava ee,我正在尝试将wildfly应用程序部署到mysql,并添加datasource数据库作为mysql-connector-java-5.1.6.jar

我在\.wildfly\modules\system\layers\base\com\mysql\main文件夹中添加了module.xml驱动程序以及 <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.6.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module> 文件:

\.wildfly\standalone\configuration\

我还修改了module.standalone.xml datasource 文件并添加了 <datasource jndi-name="java:/mySQLDS" pool-name="quizzer" enabled="true" use-ccm="true"> <connection-url>jdbc:mysql://localhost:3306/quizzer</connection-url> <driver>mysqlDriver</driver> <security> <user-name>****</user-name> <password>****</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/> <background-validation>true</background-validation> <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/> </validation> </datasource>

<driver name="mysqlDriver" module="com.mysql">
    <datasource-class>com.mysql.Driver</datasource-class>
</driver>

以及驱动程序

maven

我正在使用jboss forgeCannot upload deployment: {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {"Services that were unable to start:" => ["jboss.deployment.unit.\"quickdemo.war\".POST_MODULE","jboss.persistenceunit.\"quickdemo.war#mySQLPersistence\".__FIRST_PHASE__"],"Services that may be the cause:" => ["jboss.jdbc-driver.mysqlDriver"]}} 来构建项目。当我尝试部署应用程序生成的warfile时,我得到以下错误

.forge\log\forge.log

最后,这是我的pom.xml文件,this是来自wildfly的完整堆栈。

另一个奇怪的事情:localhost:8080/上的WildFly 9欢迎屏幕显示localhost:9990/console/App.html#standalone-deployments正在10.0.0.Final运行控制台(这是其中一个欢迎屏幕链接指向的位置) ){{1}}说,这更有意义,因为它是我下载和安装的那个。我认为其他版本可能是由于我在forge上安装的Wildfly As插件,或者他们只是忘了更新欢迎屏幕。

2 个答案:

答案 0 :(得分:0)

我认为驱动程序类的问题。

使用<driver-class>com.mysql.jdbc.Driver</driver-class> 而是<datasource-class>com.mysql.Driver</datasource-class>

始终建议在system目录

之外安装自定义模块

如果可以提供,那么精确的堆栈跟踪会更有帮助,

答案 1 :(得分:0)

WILDFLY 10使用mysql 5.7

按照以下步骤操作:在standalone.xml中注释或删除exampleds

进入jboss-cli.bat --connect 执行命令后[standalone @ localhost:9990 /] /subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name= com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)

应该没问题

这个修改过的standalone.xml,然后添加

url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
    <user-name>sa</user-name>
    <password>sa</password>
</security>
</datasource> -->
<datasource jndi-name="java:/mysql" pool-name="mysqlDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/wildfly</connection-url>
<driver>mysql</driver>
<security>
    <user-name>root</user-name>
    <password>jdfoxito10</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>

应该看起来像!

和module.xml放入

\ java中\服务器\ wildfly-10.1.0.Final \模块\ SYSTEM \层\基\ COM \ MySQL的\主

mysql-connector-java-5.1.40-bin.jar(来安装程序mysql-installer-community-5.7.15.0.msi)module.xml

和module.xml中的内容如:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.40-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>

准备好了,JAVA_HOME应该没问题