본문 바로가기
Spring

when using copy with more than one source file the destination must be a directory and end with a / (aws 빌드 에러)

by 밝지 2023. 7. 4.
728x90
반응형

Springboot project를 AWS 서버에 Docker + Github Action 조합으로 배포하는 와중에 when using copy with more than one source file the destination must be a directory and end with a /  에러가 발생하며 빌드 실패했다. 

 처음에는 도커파일이 문제인가? 싶었는데... 아니었다. 

 

스프링부트 2.5 버전 이상부터는 gradle로 빌드하면 jar 파일이 2개가 생성된다고 한다. 

  • 프로젝트이름-버전.jar
  • 프로젝트이름-버전.plain.jar

 

이 중에 ~plain.jar에는 라이브러리 없이 단순히 코드만 들어있는데 이때문에 오류가 발생한다고 하네. 그래서 build.gradle 파일에 아래와 같이 plan.jar를 만들지 않도록 하는 설정을 추가하면 에러를 해결할 수 있다.

 

jar {
	enabled = false
}

 

 

근데 나는 분명히 로컬에서 도커 띄워서 빌드했을 때 잘 됐는데 왜 오류가 났을까??!?!? <- 생각해보면 gradle로 빌드 안하고 그냥 터미널에 명령어 쳐서 뚝딱뚝딱 빌드함... 그래서 파일이 한 개만 생성되었었다. (plain.jar 없었음!)

 

오류는 항상 얘기치 못한 곳에서 생기는구려 ^.^... 로컬에서 잘 됐어도 문제네. 근데 이런것도 알게되고 좋은 것 같다. XD

728x90
반응형