FTP로 bootJar를 넣은 이후 더 이상 cannot execute binary file 에러는 뜨지 않고 배포 스크립트를 실행할 때는 별 다른 오류가 나지 않지만 여전히 배포가 되지 않는다. 배포 스크립트 실행 후 로그를 기록하는 nohup.out을 확인해보니 Unsatisfied Dependency Exception 에러가 뜬다.
1.문제점: Unsatisfied Dependency Exception-Could not resolve type alias
Unsatisfied Dependency Exception 에러가 나는 원인은 다양하지만 그 원인을 파악하기 위해 쭉 읽어보면 결국 Could not resolve type alias 가 원인인 것을 알 수 있다.
2. 원인: Could not resolve type alias
Spring Boot에서 MyBatis를 사용할 때 sql을 적은 mapper에서 result type을 명시한다. result type을 명시할 때 리턴되길 바라는 클래스의 디렉토리 위치를 일일이 적을 수도 있으나 application.properties 나 mybats-config.xml에 type-aliaes-package 설정을 통해 디렉토리 위치를 적어주면 해당 디렉토리 위치에 있는 클래스의 이름만 작성하면 result type으로 쓸 수 있다.
이 프로젝트의 경우 application.properties에 이렇게 명시되어 있다.
mybatis.type-aliases-package=com.project.smallbeginjava11.DTO
com.project.smallbegin11.DTO 폴더에 있다면 com.project.smallbegin11.DTO.Todo라고 적지 않고 Todo라고만 입력해도 result type으로 사용할 수 있게 된다.
3. 해결 방안
그런데 Could not resolve type alias라는 것은 type-aliases-package 설정을 통해 result type을 불러올 수 없다는 뜻이다. 간단한 해결방법은
result type을 이렇게 일일이 적어주는 것이다.
이렇게 명시해주니 Unsatisfied Dependency Exception이 더 이상 나타나지 않았다. 물론 일시적인 해결이다. org.mybatis.spring.boot:mybatis-spring-boot-starter dependecy를 설정하면 application.properties에서 mybatis가 접두사로 붙어있는 모든 설정은 MybatisAutoConfiguration.class를 통해 자동설정 될 줄 알았는데 그게 내 예상대로 이루어지지 않고 있다는 의미이므로 좀 더 살펴봐야 한다.
+ 2022.09.17 추가
Spring boot 프로젝트 AWS 배포 오류 해결기록(8)
1. 문제점: Permission Denied 이번 프로젝트를 배포할 때 가장 시간을 오래 끌었던 문제가 이 Permission Denied 에러였다. 무엇 때문에 어디에 접근하는 권한이 거절되었는지 확인하기 위해 vim nohup.out 명
catch-115.tistory.com
왜 application.properties에서 mybatis 접두사를 붙이고 type-aliases-package를 설정해줬는데도 resultType 클래스를 불러오지 못 했는지 원인을 찾았다. mybatis 설정 파일인 mybatis-config.xml에 type-aliases-package를 설정했어야 하는데 application.properties에서 했기 때문이었다.
# 참고:
https://yangbox.tistory.com/30
Springboot의 자동설정(starter 라이브러리)
스프링부트에서 의존성을 추가하고 싶을 때 주로 스프링부트에서 제공하는 starter 라이브러리를 의존성 설정파일에 추가한다. 예를들어 Mybatis 라이브러리를 추가하고자 하면 제공되는 starter 라
yangbox.tistory.com
'사이드 프로젝트 > To-do 캘린더 프로젝트' 카테고리의 다른 글
Spring boot 프로젝트 AWS 배포 오류 해결기록(6) (0) | 2022.09.06 |
---|---|
Spring boot 프로젝트 AWS 배포 오류 해결기록(5) (0) | 2022.09.03 |
Spring boot 프로젝트 AWS 배포 스크립트 오류(3) (0) | 2022.09.01 |
AWS 배포 스크립트 오류(2) (0) | 2022.08.31 |
AWS 배포 스크립트 실행 오류(1) (0) | 2022.08.29 |
댓글