首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mysql连接器版本从5.1.42升级到8.0

将mysql连接器版本从5.1.42升级到8.0
EN

Stack Overflow用户
提问于 2020-07-29 22:55:21
回答 1查看 759关注 0票数 0

此升级是否适用于com.mysql.jdbc.Driver?因为随着驱动程序的更改,即com.mysql.cj.jdbc.Driver抛出无法启动容器错误。

代码语言:javascript
复制
ERROR [main] 0].tryStart(264) | Could not start container
org.rnorth.ducttape.TimeoutException: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
    at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:53)
    at org.testcontainers.containers.JdbcDatabaseContainer.waitUntilContainerStarted(JdbcDatabaseContainer.java:129)
    at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:259)
    at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:212)
    at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
    at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:210)
    at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:199)
    at com.nexage.nexus.common.BaseNexus_IT.<clinit>(BaseNexus_IT.java:280)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

在pom.xml中添加了下面的依赖项

代码语言:javascript
复制
     <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.19</version>
        <scope>test</scope>
    </dependency>

在ds.properties文件中

代码语言:javascript
复制
 datasource.name=coreDS
 datasource.driver=com.mysql.cj.jdbc.Driver
 datasource.url=jdbc:mysql://localhost:18082/core?useSSL=false&requireSSL=false&verifyServerCertificate=false&profileSQL=true&maxQuerySizeToLog=16384&serverTimezone=America/New_York
 datasource.username=root
 datasource.password=mysql

启动容器的代码:

公共静态GenericContainer mysqlCore;

代码语言:javascript
复制
    mysqlCore = new MySQLImageContainer(testProperties.get("mysql.docker.image").toString())
            .withUsername(testProperties.get("db.username").toString())
            .withPassword(testProperties.get("db.password").toString())
            .withDatabaseName("core");
    mysqlCore.setPortBindings(Arrays.asList(testProperties.get("mysql.core.db.port").toString() + ":3306/tcp"));

    System.out.println(" starting mysql container");
    mysqlCore.start();
EN

回答 1

Stack Overflow用户

发布于 2020-08-19 14:17:35

通过将Test容器升级到1.14.3以及新的mysql驱动程序和mysql连接器8.0版本,解决了错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63163641

复制
相关文章

相似问题

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