获取java.lang.ClassNotFoundException:com.sun.jna.Platform,使用TestContainers GenericContainer

获取java.lang.ClassNotFoundException:com.sun.jna.Platform,使用TestContainers GenericContainer,java,docker,spock,testcontainers,Java,Docker,Spock,Testcontainers,我在尝试运行集成测试时遇到以下异常,该测试包含TestCOntainers GenericContainer for redis public GenericContainer redis = new GenericContainer<>("redis:3.0.6") .withExposedPorts(6379); publicGenericContainerRedis=新的GenericContainer(“redis:3.0.6”) .有暴露端口(63

我在尝试运行集成测试时遇到以下异常,该测试包含TestCOntainers GenericContainer for redis

public GenericContainer redis = new GenericContainer<>("redis:3.0.6")
            .withExposedPorts(6379);
publicGenericContainerRedis=新的GenericContainer(“redis:3.0.6”)
.有暴露端口(6379);
例外情况

java.lang.NoClassDefFoundError:com/sun/jna/Platform
位于org.rnoth.ansi.CapabilityDetection.isTty(CapabilityDetection.java:38)
在org.rnoth.ansi.AnsiLite.isEnabled上(AnsiLite.java:169)
位于org.rnoth.ansi.AnsiLite.toString(AnsiLite.java:134)
位于java.lang.String.valueOf(String.java:2994)
在java.lang.StringBuilder.append(StringBuilder.java:131)
访问org.rnoth.visibleassertions.visibleassertions.info(visibleassertions.java:59)
位于org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:129)
位于org.testcontainers.containers.GenericContainer.(GenericContainer.java:142)
com.target.sparkbulkapp.IntegrationTest.$spock_initializeFields(IntegrationTest.groovy:51)
原因:java.lang.ClassNotFoundException:com.sun.jna.Platform
位于java.net.URLClassLoader.findClass(URLClassLoader.java:382)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9更多
一般来说,如果我们添加testcontainers depdency,它也会带来jna depdency,但在我的例子中,它并不在图片下面


如果您看到这里只引入了jna平台,而不是jna,并且我的问题是平台类not found excpetion就是因为这个原因,我要求我的团队成员添加这个testcontainers,然后我看到在这个例子中添加了jna,在我的案例中没有添加它的原因可能是什么

我们可以获取您的Java版本和TestContainers版本吗。您的测试是否使用JUnit?集成测试是用spock编写的,构建工具是gradle,java版本8am试图将编译组:“net.java.dev.jna”,名称:“jna”,版本:“5.5.0”,添加到我的build.gradle中,但我的项目类路径上不存在,为什么不存在?我错过什么了吗?
java.lang.NoClassDefFoundError: com/sun/jna/Platform
    at org.rnorth.ansi.CapabilityDetection.isTty(CapabilityDetection.java:38)
    at org.rnorth.ansi.AnsiLite.isEnabled(AnsiLite.java:169)
    at org.rnorth.ansi.AnsiLite.toString(AnsiLite.java:134)
    at java.lang.String.valueOf(String.java:2994)
    at java.lang.StringBuilder.append(StringBuilder.java:131)
    at org.rnorth.visibleassertions.VisibleAssertions.info(VisibleAssertions.java:59)
    at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:129)
    at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
    at com.target.sparkbulkapp.IntegrationTest.$spock_initializeFields(IntegrationTest.groovy:51)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Platform
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 9 more