org.apache.catalina.core.StandardContext.startInternal 하나 이상의 리스너들이 시작하지 못했습니다. 상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다.
위와 같은 에러가 떴다! 리스너
를 시작하지 못했으므로 첫번째로 리스너를 의심!
리스너에 있는 public void contextInitialized(ServletContextEvent sce)
메소드를 확인해봤는데, 보기에는 이상이 없어 보였다.
사실 이것을 기록하기 위해 블로그를 썼다ㅎㅎ
상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다.
라고 하니... 상세 내역을 찾는 방법을 알아봤다!
webapp> WEB-INF
에 classes
디렉토리를 추가하고, 그 아래 logging.properties
파일을 만든다.
이곳에 아래 두 줄을 추가한다.
org.apache.catalina.core.ContainerBase.[Catalina].level=INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers=java.util.logging.ConsoleHandler
이렇게 상세하게 로그 메세지가 떴다.
자세히 살펴보면,
java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 at com.nhnacademy.student.Gender.getRandomGender(Gender.java:9)
라는 메세지를 확인할 수 있다.
즉, Array 길이를 잘 못 설정한거였다ㅎㅎㅎ
문제는 아주 간단했다. Enum 길이가 2인데 0,1,2 중에 랜덤으로 찾아달라고 했으니 존재하지 않을 수밖에!!
values().length-1
로 바꿔주니 완벽하게 해결이 되었다!
완벽! 그럼 이만!