Closed nasis closed 4 years ago
Hi @nasis!
We plan to remove "embedded" docker-java as soon as they ship a modularised version of it so that we can opt out of Netty code (we use OkHttp now).
Sorry, the problem is known, but unfortunately, there is not much we can do. However, we continuously update docker-java to the latest version ASAP, in case you can afford using the latest code from docker-java.
Thanks for the fast response @bsideup but that still doesn't solve the issue entirely. Moving to the release notes version of docker-java:3.1.0-rc-4 has a different conflict
java.lang.AbstractMethodError: org.testcontainers.dockerclient.transport.okhttp.OkHttpInvocationBuilder.get(Lcom/fasterxml/jackson/core/type/TypeReference;)Ljava/lang/Object;
at com.github.dockerjava.core.exec.InfoCmdExec.exec(InfoCmdExec.java:24)
at com.github.dockerjava.core.exec.InfoCmdExec.exec(InfoCmdExec.java:14)
at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:112)
at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:162)
at org.testcontainers.containers.JdbcDatabaseContainer.<init>(JdbcDatabaseContainer.java:40)
at org.testcontainers.containers.MySQLContainer.<init>(MySQLContainer.java:24)
at DockerJavaTest.dockerJavaTest(DockerJavaTest.java:8)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
dependencies {
testCompile 'com.github.docker-java:docker-java:3.1.0-rc-4'
testCompile "org.testcontainers:testcontainers:1.10.4"
testCompile "org.testcontainers:mysql:1.10.4"
testCompile "ch.qos.logback:logback-classic:1.2.2"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
This is quite a vicious cycle. I couldn't find a pair of testcontainers and docker-java that can pass this test successfully.
@nasis there was an issue with Bintray publishing of 1.10.4, could you please try 1.10.5 instead? Just in case
@bsideup same. And same happens with 1.9.0 too.
@nasis oh, I think I know what happens. Darn!
Your InfoCmdExec#exec
(from original docker-java) calls .get
with TypeReference
of non-shaded Jackson.
We will try to fix it. Meanwhile, you can try removing docker-java
dependency from your classpath and use the one shipped with Testcontainers. It is the same docker-java, but with OkHttp transport and fewer dependencies. Sorry 😞
@bsideup thanks but that's not feasible for me at this time. I'll wait for the fix.
I hit this problem too recently. An application with docker-java client and a testcontainer can't run the test phase. I removed the docker-java dependency and left the testcontainer in the main scope instead of the test
scope.
OkHttpInvocationBuilder does not define or inherit an implementation of the resolved method abstract get(Lcom/fasterxml/jackson/core/type/TypeReference;)Ljava/lang/Object; of interface com.github.dockerjava.core.InvocationBuilder
Removing the explicit docker-java from my dependencies and attempting to use the one that comes with testcontainers leads to the following error:
java.lang.NoClassDefFoundError: org/testcontainers/shaded/org/glassfish/jersey/client/spi/ConnectorProvider
@Gaibhne The guys from Spring created a shaded docker-java library to avoid conflict. The following instructions are for Maven but can be adapt to to gradle:
<repositories>
<repository>
<id>spring-plugins-release</id>
<url>http://repo.spring.io/plugins-release/</url>
</repository>
</repositories>
test
scope <dependency>
<groupId>com.aries</groupId>
<artifactId>docker-java-shaded</artifactId>
<version>3.1.0-rc-4</version>
</dependency>
<classpathDependencyExcludes>
<classpathDependencyExcludes>com.aries:docker-java-shaded</classpathDependencyExcludes>
</classpathDependencyExcludes>
Edit: IDEs still will have problem to figure out the classpath but you can run single integration tests with
$ mvn verify -Dit.test=ClassIT#test_method
@s17t thank you for the advice. Unfortunately it does not affect the error I am seeing at all. I am including sections of my pom.xml and the output of dependency:tree in case it is in any way helpful to track down the issue. The pom.xml is quite a load, but I figure since I don't fully understand the conflicts I'm better off not cutting out things.
Edit: Sorry, I misspoke: it does fix the original error, but leads to the same error as including the regular docker-java when trying to use testcontainers:
org.testcontainers.dockerclient.transport.okhttp.OkHttpInvocationBuilder.get(Lcom/github/dockerjava/shaded/com/fasterxml/jackson/core/type/TypeReference;
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.company.internal</groupId>
<artifactId>projectname</artifactId>
<version>1.3.0</version>
<packaging>jar</packaging>
<name>projectname</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>spring-plugins-release</id>
<url>http://repo.spring.io/plugins-release/</url>
</repository>
</repositories>
<prerequisites>
<maven>3.5</maven>
</prerequisites>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Versions -->
<okhttp.version>3.12.1</okhttp.version>
<retrofit.version>2.3.0</retrofit.version>
<internal.java.commons.version>1.17.1</internal.java.commons.version>
<org.jdbi.version>3.5.1</org.jdbi.version>
<io.prometheus.version>0.0.26</io.prometheus.version>
<testcontainers.version>1.10.6</testcontainers.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jdbi</groupId>
<artifactId>jdbi3-bom</artifactId>
<type>pom</type>
<version>${org.jdbi.version}</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.197</version>
</dependency>
<dependency>
<groupId>org.tuxdude.logback.extensions</groupId>
<artifactId>logback-colorizer</artifactId>
<version>1.0.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<!-- Exec wrapper -->
<dependency>
<groupId>org.zeroturnaround</groupId>
<artifactId>zt-exec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.11.0</version>
</dependency>
<!-- company Toolbox -->
<dependency>
<groupId>de.company.util</groupId>
<artifactId>companyMiscellaneous</artifactId>
<version>0.3</version>
</dependency>
<!-- company Logger -->
<dependency>
<groupId>de.company.internal</groupId>
<artifactId>internalLogger</artifactId>
<version>0.1.5</version>
<exclusions>
<exclusion>
<groupId>de.company.internal</groupId>
<artifactId>internalDBCore</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- company Commons -->
<dependency>
<groupId>de.company.internal.commons</groupId>
<artifactId>internal-java-commons</artifactId>
<version>${internal.java.commons.version}</version>
</dependency>
<!-- Argument parsing library -->
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.72</version>
</dependency>
<!-- Config file parsing library -->
<dependency>
<groupId>org.aeonbits.owner</groupId>
<artifactId>owner</artifactId>
<version>1.0.9</version>
</dependency>
<!-- Rest Assured JSON Scheme validator -->
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>3.0.5</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mailapi</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Type-safe HTTP client that can consume REST services -->
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
<version>${retrofit.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>converter-gson</artifactId>
<version>${retrofit.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>converter-scalars</artifactId>
<version>${retrofit.version}</version>
</dependency>
<!-- Logger for the HTTP client -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>${okhttp.version}</version>
</dependency>
<!-- Boiler-plate reducing library -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
<!-- Google core tools library -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.2-jre</version>
</dependency>
<!-- Light weight JDBC wrapper for convenient database access -->
<dependency>
<groupId>org.jdbi</groupId>
<artifactId>jdbi3-core</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jdbi</groupId>
<artifactId>jdbi3-sqlobject</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- The client -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>${io.prometheus.version}</version>
</dependency>
<!-- Hotspot JVM metrics -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_hotspot</artifactId>
<version>${io.prometheus.version}</version>
</dependency>
<!-- Pushgateway exposition -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_pushgateway</artifactId>
<version>${io.prometheus.version}</version>
</dependency>
<!-- Test only dependencies -->
<!-- JUnit 4 Test framework -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- Helper library to test console output -->
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-rules</artifactId>
<version>1.16.1</version>
<scope>test</scope>
</dependency>
<!-- Mock database for unit testing -->
<dependency>
<groupId>org.zapodot</groupId>
<artifactId>embedded-db-junit</artifactId>
<version>1.1.1</version>
</dependency>
<!-- Docker test containers for testing against MySQL -->
<dependency>
<groupId>com.aries</groupId>
<artifactId>docker-java-shaded</artifactId>
<version>3.1.0-rc-4</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<excludes>
<exclude>**/db.properties</exclude>
<exclude>**/log4j2.xml</exclude>
<exclude>**/*.default</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>de.company.internal.projectname.App</Main-Class>
<Class-Path>.</Class-Path>
</manifestEntries>
</transformer>
<transformer
implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer" />
</transformers>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.github.edwgiz</groupId>
<artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<show>private</show>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Code coverage plugin to produce test reports -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*DB.*</exclude>
<exclude>**/*ADB.*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<includes>
<include>TestSuite.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
$ mvn dependency:tree
[INFO] Scanning for projects...
[WARNING] The project de.company.internal:projectname:jar:1.3.0 uses prerequisites which is only intended for maven-plugin projects but not for non maven-plugin projects. For such purposes you should use the maven-enforcer-plugin. See https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
[INFO]
[INFO] -----------------------< de.company.internal:projectname >-----------------------
[INFO] Building projectname 1.3.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ projectname ---
[INFO] de.company.internal:projectname:jar:1.3.0
[INFO] +- com.h2database:h2:jar:1.4.197:compile
[INFO] +- org.tuxdude.logback.extensions:logback-colorizer:jar:1.0.1:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] +- org.zeroturnaround:zt-exec:jar:1.10:compile
[INFO] | \- commons-io:commons-io:jar:1.4:compile
[INFO] +- org.mockito:mockito-core:jar:2.11.0:compile
[INFO] | +- net.bytebuddy:byte-buddy:jar:1.7.4:compile
[INFO] | +- net.bytebuddy:byte-buddy-agent:jar:1.7.4:compile
[INFO] | \- org.objenesis:objenesis:jar:2.6:compile
[INFO] +- de.company.util:companyMiscellaneous:jar:0.3:compile
[INFO] +- de.company.internal:internalLogger:jar:0.1.5:compile
[INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.8.2:compile
[INFO] | \- org.apache.logging.log4j:log4j-core:jar:2.8.2:compile
[INFO] +- de.company.internal.commons:internal-java-commons:jar:1.17.1:compile
[INFO] | +- com.esotericsoftware:reflectasm:jar:1.11.3:compile
[INFO] | | \- org.ow2.asm:asm:jar:5.0.4:compile
[INFO] | +- commons-beanutils:commons-beanutils:jar:1.9.3:compile
[INFO] | | +- commons-logging:commons-logging:jar:1.2:compile
[INFO] | | \- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] | +- one.util:streamex:jar:0.6.5:compile
[INFO] | +- de.danielbechler:java-object-diff:jar:0.94:compile
[INFO] | +- de.company.internal:internalDBCore:jar:1.1.15:compile
[INFO] | | +- com.zaxxer:HikariCP:jar:3.2.0:compile
[INFO] | | +- org.apache.commons:commons-lang3:jar:3.7:compile
[INFO] | | +- mysql:mysql-connector-java:jar:8.0.13:compile
[INFO] | | | \- com.google.protobuf:protobuf-java:jar:3.6.1:compile
[INFO] | | \- org.apache.commons:commons-configuration2:jar:2.4:compile
[INFO] | | \- org.apache.commons:commons-text:jar:1.3:compile
[INFO] | +- javax.mail:mail:jar:1.5.0-b01:compile
[INFO] | | \- javax.activation:activation:jar:1.1:compile
[INFO] | +- com.google.code.findbugs:jsr305:jar:3.0.2:provided
[INFO] | +- com.jcraft:jsch:jar:0.1.55:compile
[INFO] | +- com.squareup:javapoet:jar:1.9.0:compile
[INFO] | +- com.google.code.gson:gson:jar:2.8.2:compile
[INFO] | \- com.squareup.okhttp3:okhttp:jar:3.12.1:compile
[INFO] | \- com.squareup.okio:okio:jar:1.15.0:compile
[INFO] +- com.beust:jcommander:jar:1.72:compile
[INFO] +- org.aeonbits.owner:owner:jar:1.0.9:compile
[INFO] +- io.rest-assured:json-schema-validator:jar:3.0.5:compile
[INFO] | +- com.github.fge:json-schema-validator:jar:2.2.6:compile
[INFO] | | +- joda-time:joda-time:jar:2.9.3:compile
[INFO] | | +- com.googlecode.libphonenumber:libphonenumber:jar:6.2:compile
[INFO] | | +- com.github.fge:json-schema-core:jar:1.2.5:compile
[INFO] | | | +- com.github.fge:uri-template:jar:0.9:compile
[INFO] | | | | \- com.github.fge:msg-simple:jar:1.1:compile
[INFO] | | | | \- com.github.fge:btf:jar:1.2:compile
[INFO] | | | +- com.github.fge:jackson-coreutils:jar:1.8:compile
[INFO] | | | | \- com.fasterxml.jackson.core:jackson-databind:jar:2.2.3:compile
[INFO] | | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.3:compile
[INFO] | | | | \- com.fasterxml.jackson.core:jackson-core:jar:2.2.3:compile
[INFO] | | | \- org.mozilla:rhino:jar:1.7R4:compile
[INFO] | | \- net.sf.jopt-simple:jopt-simple:jar:4.6:compile
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] +- com.squareup.retrofit2:retrofit:jar:2.3.0:compile
[INFO] +- com.squareup.retrofit2:converter-gson:jar:2.3.0:compile
[INFO] +- com.squareup.retrofit2:converter-scalars:jar:2.3.0:compile
[INFO] +- com.squareup.okhttp3:logging-interceptor:jar:3.12.1:compile
[INFO] +- org.projectlombok:lombok:jar:1.16.18:provided
[INFO] +- com.google.guava:guava:jar:23.2-jre:compile
[INFO] | +- com.google.errorprone:error_prone_annotations:jar:2.0.18:compile
[INFO] | +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO] | \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
[INFO] +- org.jdbi:jdbi3-core:jar:3.5.1:compile
[INFO] | +- org.antlr:antlr-runtime:jar:3.4:compile
[INFO] | | +- org.antlr:stringtemplate:jar:4.0.2:compile
[INFO] | | \- antlr:antlr:jar:2.7.7:compile
[INFO] | \- net.jodah:expiringmap:jar:0.5.6:compile
[INFO] +- org.jdbi:jdbi3-sqlobject:jar:3.5.1:compile
[INFO] +- io.prometheus:simpleclient:jar:0.0.26:compile
[INFO] +- io.prometheus:simpleclient_hotspot:jar:0.0.26:compile
[INFO] +- io.prometheus:simpleclient_pushgateway:jar:0.0.26:compile
[INFO] | \- io.prometheus:simpleclient_common:jar:0.0.26:compile
[INFO] +- junit:junit:jar:4.12:compile
[INFO] +- com.github.stefanbirkner:system-rules:jar:1.16.1:test
[INFO] +- org.zapodot:embedded-db-junit:jar:1.1.1:compile
[INFO] | \- org.hsqldb:hsqldb:jar:2.3.2:compile
[INFO] +- com.aries:docker-java-shaded:jar:3.1.0-rc-4:compile
[INFO] +- org.testcontainers:testcontainers:jar:1.10.6:test
[INFO] | +- org.jetbrains:annotations:jar:13.0:test
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.3.1:test
[INFO] | +- org.apache.commons:commons-compress:jar:1.18:test
[INFO] | +- javax.xml.bind:jaxb-api:jar:2.3.1:test
[INFO] | | \- javax.activation:javax.activation-api:jar:1.2.0:test
[INFO] | +- org.rnorth.duct-tape:duct-tape:jar:1.0.7:test
[INFO] | +- org.rnorth.visible-assertions:visible-assertions:jar:2.1.2:test
[INFO] | | \- net.java.dev.jna:jna:jar:5.2.0:test
[INFO] | +- org.rnorth:tcp-unix-socket-proxy:jar:1.0.2:test
[INFO] | | +- com.kohlschutter.junixsocket:junixsocket-native-common:jar:2.0.4:test
[INFO] | | | \- org.scijava:native-lib-loader:jar:2.0.2:test
[INFO] | | \- com.kohlschutter.junixsocket:junixsocket-common:jar:2.0.4:test
[INFO] | \- net.java.dev.jna:jna-platform:jar:5.2.0:test
[INFO] \- org.testcontainers:mysql:jar:1.10.6:test
[INFO] \- org.testcontainers:jdbc:jar:1.10.6:test
[INFO] \- org.testcontainers:database-commons:jar:1.10.6:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.637 s
[INFO] Finished at: 2019-01-31T10:41:19+01:00
[INFO] ------------------------------------------------------------------------
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this is a mistake, please reply to this comment to keep it open. If there isn't one already, a PR to fix or at least reproduce the problem in a test case will always help us get back on track to tackle this.
seeing the same from testcontainers-scala
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this is a mistake, please reply to this comment to keep it open. If there isn't one already, a PR to fix or at least reproduce the problem in a test case will always help us get back on track to tackle this.
This issue has been automatically closed due to inactivity. We apologise if this is still an active problem for you, and would ask you to re-open the issue if this is the case.
I still care about this 🙂
@bsideup, how to reopen this?
@dagguh I reopened it, we're working with docker-java team on splitting it into modules, so that we can depend on docker-java-api
directly. docker-java's upcoming 3.2.0 release will make it possible
@bsideup, docker-java-api
is released
@dagguh yes (I am the author of it 😅).
We will do a release of Testcontainers with docker-java 3.2.0 and a few deprecations to let everyone update their usages and the next one most probably will finally stop shading docker-java-api
.
Adding com.github.docker-java:docker-java to a project that uses testcontainers creates dependency conflicts. In a way this issue is related to this one but that one is closed.
This example with the below dependencies demonstrate the problem