IntelliJ IDEA로 Play! Framework 기반의 개발을 하는 중 수동으로 target 등을 삭제하는 경우가 있다. 이러한 경우에는 때때로 다음과 같은 빌드 오류가 발생하였다.

Error:(10, 19) object login is not a member of package views.html
Ok(views.html.login.render())
              ^

빌드이 정상적으로 되는 상태에서 코드를 수정하지 않았지만 위의 오류가 발생한다.

원인

IntelliJ IDEA에 저장된 Cache가 깨지면서 위와 같은 현상이 발생한다. Dependencies를 변경한 경우는 해당 라이브러리가 실제로 없는 경우도 있다.

해결 방법

해결 방법은 매우 간단하게 IntelliJ IDEA의 Cache 문제이므로 Cache를 초기화하고 다시 실행하면 정상적으로 빌드된다.

메뉴 > File > Invalide Caches / Restart...

위의 메뉴에서 Invalid Caches / Restart...을 눌러주면 자동으로 문제는 해결된다. 위의 방법으로 해결 되지 않을 때, 나의 경우에는 Activate로 한 번 실행하면 정상적으로 라이브러리를 인식하여 동작하였다.

$ bin/activate run

간단한 문제인데, 바로 파악이 되지 않는다면 디버깅 한다고 시간을 쓸 수도 있어서 기록으로 남겨둔다.