728x90
spring boot gradle 프로젝트를 aws ec2 환경에서 배포하기 위해 빌드를 했는데 다음과 같은 에러가 나왔습니다.
* What went wrong:
Execution failed for task ':compileQuerydsl'.
> Could not resolve all files for configuration ':querydsl'.
> Could not find com.sun.mail:javax.mail:.
Required by:
project :
Exception을 포함한 자세한 에러 내용은 다음과 같습니다.
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileQuerydsl'.
...
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':querydsl'.
...
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.sun.mail:javax.mail:.
Required by:
project :
총 100줄이 넘었지만 중요한 3줄만 남겼습니다.
위에서부터 :compileQuerydsl, :querydsl을 보고 querydsl 쪽이 문제가 있었나 싶을 수 있지만 가장 마지막 줄에 javax.mail이 문제의 원인입니다.
build.gradle 파일의 의존성을 추가하는 부분에 javax.mail의 버전이 명시되어있지 않다면 위와 같이 ModuleVersionNotFoundException 에러가 발생합니다. 메일을 사용하기 위해 로컬에서 STS를 이용해서 테스트할 때는 문제없이 잘 실행되었지만 ec2환경에서 배포를 위해 build를 할 때는 버전이 있어야 합니다. 그래서 maven repository에서 가장 최근 버전을 살펴보니 1.6.2 버전이라서 build.gradle 파일에서 아래와 같이 변경하면 해결할 수 있습니다.
implementation 'com.sun.mail:javax.mail -> implementation 'com.sun.mail:javax.mail:1.6.2'
728x90
'개발 > Spring' 카테고리의 다른 글
[Spring] MyBatis, MyBatis-Spring 특징과 역할 (0) | 2022.05.31 |
---|---|
[Spring] 스프링 부트 (Spring Boot) 특징 및 구조 (0) | 2022.05.18 |
[Spring] 스프링 MVC 아키텍처의 이해 (Spring MVC Architecture) (0) | 2022.05.17 |
[Spring] 스프링에서 많이 사용하는 어노테이션 정리 (Annotation) (0) | 2022.05.16 |
[Spring] REST, REST API, RESTful API, OPEN API란? (0) | 2022.05.13 |