애러 원인 해당 애러는 Spring에서 코루틴과 관련된 코드를 사용하고 있는데, 코루틴 라이브러리에 대한 의존성이 설정되지 않아 발생한다. 예를 들어 다음과 같이 컨트롤러를 만들면, 코틀린에는 기본적으로 일시 중단 함수가 내장되어 있기 때문에 컴파일러에서 오류가 발생하지 않지만, 스프링 프레임웍 내부적으로 CoroutineScope에서 코루틴을 실행해 해당 일시 중단 함수를 실행하기 때문에 오류가 발생한다. @Controller class CoroutineTestController() { @GetMapping("/coroutine/call") suspend fun callCoroutine(): ResponseEntity { // 일시 중단 함수 사용 return ResponseEntity.ok("Coro..
error
이번 글에서 다룰 내용 Kotlin에서 코드를 보다 보면, 어떤 코드는 예외 발생 상황에서 Exception을 던지고 어떤 코드는 Error을 던진다. 이번 글에서는 이 둘의 차이에 대해서 다뤄보고자 한다. Kotlin의 Exception과 Error의 차이 Kotlin에서의 예외 처리는 기본적으로 Java 기반의 예외 처리 체계를 따른다. @SinceKotlin("1.1") public actual typealias Error = java.lang.Error @SinceKotlin("1.1") public actual typealias Exception = java.lang.Exception 따라서 이 둘의 차이를 이해하기 위해서는 해당 Java 소스를 확인할 필요가 있다. 소스를 확인하면서 둘의 차이..
오류 메세지와 원인 분석 안드로이드 API33부터 onBackPressed 함수가 Deprecated 되면서 함수를 override하면 다음과 같은 경고 메세지가 뜨고 있다. 'onBackPressed(): Unit' is deprecated. Overrides deprecated member in 'androidx.core.app.ComponentActivity 직역하면 다음과 같은 뜻이다. 'onBackPressed(): Unit'은 더 이상 사용되지 않습니다. 'androidx.core.app.ComponentActivity'에서 더 이상 사용되지 않는 메서드를 재정의합니다. 당분간은 메세지가 뜬 상태로 있겠지만, 향후 몇 버전 뒤에는 코드가 없어질 것이므로, 이 글에서는 onBackPressed를..
오류 메세지 KMM 앱을 iOS로 빌드 중 아래와 같은 오류 메세지를 확인했다. The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 16.0, but the range of supported deployment target versions is 9.0 to 15.2.99. 이 오류 메세지를 직역하면 다음과 같은 말이다. iOS deployment target 버전 'IPHONEOS_DEPLOYMENT_TARGET'은 16.0으로 설정되어 있으나 지원되는 deployment target 버전 범위는 9.0~15.2.99이다. 원인 이 메세지는 XCode에서 지원하는 iOS Deployment Target 버전을 벗어난 버전으로 iOS 프로젝트..
JUnit 의존성 설정 시 발생하는 오류와 해결 방법 JUnit5를 사용하기 위해서는 다음 의존성을 추가해야 한다. dependencies { // JUnit5 테스트 프레임워크 testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0") ... } 하지만, 이 둘을 사용해 테스트를 실행하면 다음과 같은 오류가 난다. Execution failed for task ':test'. > No tests found for given includes: [SimpleTest](--tests filter) 이런 애러가 나는 이유는 테스트를 실행할..