我正在使用maven
和java 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 forge和Cannot 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
插件,或者他们只是忘了更新欢迎屏幕。
答案 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应该没问题