본문 바로가기
TIL

IntelliJ 사용 시 gradle 프로젝트 out, build 폴더 차이

by 독서왕뼝아리 2023. 4. 5.

 

IntelliJ 사용 시 build 하면 out 폴더와 build 폴더가 생성 *될 수도* 있다. 두 개의 폴더는 동일한 클래스 파일을 소유하고 있다. 무슨 차이가 있을까?


out - 폴더는 인텔리제이 빌드시에 컴파일한 class를 저장하는 폴더
build - 폴더는 gradle 빌드시에 컴파일한 class를 저장하는 폴더

 


 

예전에 AsciiDoc을 이용해 REST Doc을 만드는 작업을 했는데 프로젝트를 진행할 때 이상한 점이 있었다.

 

아스키독 테스트 코드를 구현하고 빌드를 했는데 예상대로라면 build폴더 하위에 *.ascii 파일이 생성되어야 했는데 build 폴더가 없는 것이다. 이제 그 이유를 알았다...

 

IntelliJ에는 IDE 자체에서 빌드하는 기능을 제공한다. 평상적으로 IntelliJ 자체 빌드가 빠르다고 하여 프로젝트를 생성하면 build 방식을 Gradle에서 IntelliJ로 변경했다. 그래서 build 폴더가 없었던 것이다. 

 

과거 삽질까지 다시 끌어올려 깨달음 알아간다...

 

이번 삽질은 Dockerfile 작성하는데 build 폴더가 없어서 찾다가 알게 되었다. 도커 이미지에서 build하고 생성된 jar 파일을 이용해서 run 하도록 수정해야겠다.