반응형
프로젝트 구조
- Java 21
- gradle
- Spring boot 3.X
- Spring Webflux
- kotlin
에러 발생
- java, spring boot, gradle 등 프로젝트 주요 라이브러리의 버전업 후, 프로젝트 boot시에 에러가 발생하는 것을 발견
2025-03-20 08:53:13.537 ERROR [ main] i.n.resolver.dns.DnsServerAddressStreamProviders io.netty.resolver.dns.DnsServerAddressStreamProviders.<clinit>(DnsServerAddressStreamProviders.java:79) : Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
원인
Mac os의 경우 특정 라이브러리를 찾을 수 없다는 오류로 보입니다...
열심히 구글링해봤고, 같은 오류로 이미 많은 사람들의 논의한 글을 찾을 수 있었습니다.
netty 의 깃허브 이슈중에서, 같은 오류를 가지고 논의한 글입니다.
요약하면, 애플실리콘의 제품의 경우 특정 라이브러리를 추가해주면 해결된다는 글이었습니다.
해결방법
- "io.netty:netty-resolver-dns-native-macos:4.1.94.Final:osx-aarch_64"
- 해당 라이브러리를 추가해주면 간단히 해결되었습니다!
다만 특정 os일때만 발생하는 오류이므로, if문으로 조건을 지정하여 사용해주어서, Os의 종속되게 설정하였습니다.
fun isAppleSilicon() = System.getProperty("os.name") == "Mac OS X" && System.getProperty("os.arch") == "aarch64"
if (isAppleSilicon()) {
runtimeOnly("io.netty:netty-resolver-dns-native-macos:4.1.94.Final:osx-aarch_64")
}
반응형