Spring/Spring 이야기

[Spring framework] Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider

seungdols 2022. 12. 7. 14:49

Netty를 쓰는 환경에서는 해당 오류가 M1 Apple chip 부터 발생한다. 

Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS

 

해당 이슈는 MacOS에서만 발생한다. 

해결방법은 netty issue에 나와 있는데, 보통 아래 디펜던시를 추가해주면 해결 된다. 

io.netty:netty-resolver-dns-native-macos

그런데, 좋은 방법이 며칠전에 추가 되었는데, 실행 하는 OS를 구분하여 runtimeOnly로 해당 모듈을 추가 해주는 방식이다.OS 구분은 플러그인을 통해 해결 한 방법이다.

https://github.com/netty/netty/issues/11020#issuecomment-1334134901

 

Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider · Issue #11020 · netty/netty

Expected behavior Spring Cloud Gateway microservice (api-gateway) should route to appropriate microservice (web) using Eureka Discovery Server microservice (discovery) and return "Hello World&...

github.com

id "com.google.osdetector" version "1.7.1"

if (osdetector.classifier == "osx-aarch_64") {
    implementation('io.netty:netty-resolver-dns-native-macos')
}
 

plugin에서 osdetector 추가하고, netty 관련 모듈을 넣어준다. 최근까지는 runtimeOnly를 사용했으나 오류가 발생하여, implementation으로 변경 해주었다.

반응형