2019. 5. 24. 21:44ㆍ프로그래밍/InteliJ&Eclipse
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/spring-config.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'class path resource [com/domain/sql/mapper/UserDao.xml]'; nested exception is java.io.FileNotFoundException: class path resource [com/domain/sql/mapper/UserDao.xml] cannot be opened because it does not xistorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'docService': Unsatisfied dependency expressed through field 'sqlSessionTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSession' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'sqlSessionFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'class path resource [com/erp/doc/dao/DocDao.xml]'; nested exception is java.io.FileNotFoundException: class path resource [com/erp/doc/dao/DocDao.xml] cannot be opened because it does not exist
이렇게 오류가 나서 이틀동안 정말 고생을 했다. 내용을 보면 com/erp/doc/dao/DocDao.xml 파일을 찾지 못해서 맵핑에 실패하고 sqlSessionFactory 에서 빈 생성과 주입을 실패했다는 뜻인듯하다.
그런데 applicationContext.xml 이 파일을 보면 사진과 같이 설정에 아무 문제가 없었다. 경로 부분에 컨트롤 키를 누르고 마우스를 클릭하면 해당 경로로 잘 이동한다.(경로가 맞다는 뜻) 게다가 이 설정은 이클립스에서 설정했던 그대로 가져온 것이다.
일단 이것을 해결하기 위해 이 방법 저 방법을 다 동원해봤지만 희안하게 어떤 컴에선 되고 어떤 컴에선 문제가 발생하지 않았다. 어떤 컴에서도 문제가 없는 플젝을 만들어야 맞는것이기에 해당 컴의 톰캣이 문제일까 싶어 톰캣 재설치, 인텔리제이 재설치 등등 별짓을 다 하고 심지어 윈도우도 다시 깔까도 생각해보기까지 했다.
그러던 중 오늘 드디어 이 문제가 해결됐다. 그런데 원인이 정말 어처구니 없는 곳에 있었고 너무나 간단하게 해결돼서 화가 날 지경이었다ㅎㅎㅎ
바로 위 사진과 같이 classpath:com/ 이 부분을 classpath*:com/ 이렇게 * 하나만 붙여주면 된다!! 정말 간단하지 않은가!!
왜 이클립스에서는 문제되지 않는 설정이 인텔리제이에서는 발생하는 것일까. 개발 툴을 바꾸니 좋은 점도 많지만 적응되기 전까지는 빡치는 일도 허다하다. 하지만 인텔리제이의 장점이 너무 커서 내가 빨리 적응하는 것이 맞는 듯 하다.
'프로그래밍 > InteliJ&Eclipse' 카테고리의 다른 글
이클립스&인텔리J 주요 단축키 (0) | 2019.06.30 |
---|---|
[JSP]eclipse프로젝트를 intellij에서 실행하기 (0) | 2019.05.28 |
인텔리제이 스프링 설정 총정리 (0) | 2019.05.24 |
intellij에서 Spring 4 초기 환경 세팅에서 디비연동까지 한 번에 하기 (Maven & Mysql & Mybatis) (0) | 2019.05.23 |
[인텔리J] 톰캣 console 한글 인코딩 설정 (3) | 2019.05.23 |