개발 노트
mac m1 Unable to load MacOSDnsServerAddressStreamProvider, fallback to system defaults, InvocationTargetException 해결
kkoon9
2024. 1. 23. 21:41
배경
- Spring Boot Version : 3.0.1
- Java Version : 17
- Kotlin Version : 1.9.20
m1인 local 환경에서 Spring Cloud Gateway를 사용할 때 아래와 같은 문제가 생깁니다.
Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS.
이걸로 인해 InvocationTargetException도 발생하게 되는데요.
사실 Spring Boot 2.7 버전까지는 에러가 발생하지만 잘 동작했었습니다.
허나, Spring Boot 3 버전 이후로는 동작을 안하더라고요.
그래서 이 에러가 뜨지 않기 위한 해결 방법을 포함한 포스팅을 작성하게 되었습니다.
해결 방법
윈도우 혹은 intel mac인 팀원이 있을수도 있으니 mac m1의 Local 환경에서만 아래 의존성을 추가해주는 코드입니다.
io.netty:netty-resolver-dns-native-macos:4.1.91.Final:osx-aarch_64
val isMac = System.getProperty("os.name").startsWith("Mac OS X")
val architecture = System.getProperty("os.arch")
if (isMac && architecture == "aarch64") {
developmentOnly("io.netty:netty-resolver-dns-native-macos:4.1.91.Final:osx-aarch_64")
}