首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly-Thorntail无法连接到MariaDB

Wildfly-Thorntail无法连接到MariaDB
EN

Stack Overflow用户
提问于 2019-02-17 04:15:10
回答 1查看 1.1K关注 0票数 0

我需要将Wildfly-Thorntail从2.2升级到2.3,以解决与Maven 3.6的兼容性问题。在Maven 3.5和2.2下,项目可以很好地构建和运行,但在3.6版本下,它会抱怨“在执行io.thorntail:thorntail-maven-plugin时遇到API不兼容”。

在将Thorntail更改为2.3,0之后(为简洁起见,在此处进行了硬编码),即

代码语言:javascript
复制
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.thorntail</groupId>
            <artifactId>bom-all</artifactId>
            <version>2.3.0.Final</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

...the程序构建正确,但现在我在程序启动过程中收到以下错误:

代码语言:javascript
复制
2019-02-16 21:54:22,159 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 21) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("jdbc-driver" => "mysql")
]) - failure description: "WFLYJCA0114: Failed to load datasource class:     com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"

下面几行:

代码语言:javascript
复制
21:54:23,482 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
   ("subsystem" => "datasources"),
   ("data-source" => "my_ds")
]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" =>  ["jboss.jdbc-driver.mysql"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "org.wildfly.data-source.my_ds is missing [jboss.jdbc-driver.mysql]",
        "jboss.driver-demander.java:jboss/datasources/my_ds is missing [jboss.jdbc-driver.mysql]"
    ] 
}

我的persistence.xml看起来像这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="SPU" transaction-type="JTA">

    <!-- The "Java-Transaction-API" datasource here refers to the datasource defined in /src/main/resources/project-defaults.yml. -->
    <jta-data-source>java:jboss/datasources/my_ds</jta-data-source>

    <!-- User and password defines in project-defaults.yml -->
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        <property name="hibernate.show_sql" value="false"/>
    </properties>
  </persistence-unit>
</persistence>

在...in my POM中,我定义了以下连接器:

代码语言:javascript
复制
<!-- The driver used to access MariaDB, automatically detected by Thorntail and registered -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.15</version>
</dependency>

我从今天早上开始就被困住了,因为我对Wildfly-Thorntail的了解有限。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-02-19 01:06:47

在8.x版本中(正如您的maven所指出的那样),在MySQL连接器/J中实现java.sql.Driver的类名已经从com.mysql.jdbc.Driver更改为com.mysql.cj.jdbc.Driver。旧的类名已被弃用。

或者,由于您使用的是MariaDB服务器,因此驱动程序为:

代码语言:javascript
复制
    driver-class-name: org.mariadb.jdbc.Driver
    xa-datasource-class-name: org.mariadb.jdbc.MariaDbDataSource

使用maven:

代码语言:javascript
复制
<dependency>
  <groupId>org.mariadb.jdbc</groupId>
  <artifactId>mariadb-java-client</artifactId>
  <version>2.4.0</version>
</dependency>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54727242

复制
相关文章

相似问题

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