0

我正在使用 Vertx 进行编码,当我在笔记本电脑(MacO)下运行 Junit 测试时,所有单元测试都失败了,事实上,当这些单元测试在 Linux 下成功运行时。

这是我的 Java 11 版本:

java version "11.0.12" 2021-07-20
IBM Semeru Runtime Certified Edition 11.0.12.0 (build 11.0.12+7)
Eclipse OpenJ9 VM 11.0.12.0 (build openj9-0.27.0, JRE 11 Mac OS X amd64-64-Bit Compressed References 20210901_134 (JIT enabled, AOT enabled)
OpenJ9   - 1851b0074
OMR      - 9db1c870d
JCL      - 54d2067eec based on jdk-11.0.12+7)

我也在使用 gradle 7.2

当我运行 ./gradlew clean build 时,执行单元测试,然后我看到以下错误。似乎vertx调用了netty,然后netty库得到了抱怨MacOS的错误。

Can not find io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider in the classpath, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS.

顺便说一句,这是我们的 Vertx 版本

    implementation group: 'io.vertx', name: 'vertx-core', version: '4.0.3'

有什么想法吗?如何解决?

4

2 回答 2

0

thisthis报告的相同/相似问题中,您可能需要考虑将这些添加到您的 gradle 配置中

  1. runtimeOnly("io.netty:netty-resolver-dns-native-macos:XXX:osx-x86_64")

其中 XXX 是netty-resolver-dns-native-macos 的版本

或者

  1. io.netty:netty-all:4.1.68.Final.
于 2021-10-23T21:04:44.737 回答
0

请在 pom.xml 中添加以下依赖项。但这仍然不是解决方法,它只是一种解决方法。

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-all</artifactId>
</dependency>
于 2022-02-23T21:34:54.047 回答