1. 문제발생
윈도우 환경에서 스프링 테스트를 돌리던 중 아래와 같은 문제가 발생했다.
jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.
2. 원인 추론
① 프로젝트 전역에 -parameters 플래그를 설정하는 것
`Build.gradle` 파일에 아래 코드를 추가했다.
하지만 해결되진 않았다.
tasks.withType(JavaCompile) {
options.compilerArgs = ['-parameters']
}
② ./gradlew clean build로 기존 컴파일 파일 지우고 빌드
터미널에 입력해보았지만, 해당 방법도 해결되진 않았다.
./gradlew clean build
3. 해결방안
IntelliJ가 Gradle 설정을 제대로 따르지 않고 자체적으로 빌드하는 문제
File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle
- Build and run using: IntelliJ IDEA → Gradle
- Run tests using: IntelliJ IDEA → Gradle

4. 결과
정상적으로 테스트 코드가 완료된 것을 볼 수 있었다.