1. build, out 폴더의 존재
결론부터 말하자면
- build 폴더 : 프로젝트 빌드 도구가 Gradle
- out 폴더 : 프로젝트 빌드 도구가 IntelliJ IDEA
되겠습니다.
궁금하시다면 어렵지 않으니 쭉 읽어보세요.
인텔리제이에서 Springboot로 개발을 하다가 보면
gradle 프로젝트 폴더 내에 아래 사진과 같이
build 또는 out 폴더가 있는 것을 확인할 수 있습니다.
두 폴더가 모두 존재할 수도 있습니다.
일단 build와 out 폴더는 빌드 시에 컴파일한 class를 저장하는 폴더입니다.
만약 인강을 들으시다가
강사님이 뭐가 잘 안된다며 out 폴더를 삭제하고 다시 실행하라고 했을 때
본인이 out 폴더가 없다면 build 폴더를 똑같이 하시면 되는 것입니다.
하는 역할은 같습니다. 그렇다면 차이가 뭘까요?
2. build, out 폴더의 차이
차이는 프로젝트를 빌드하고 실행하는 도구가 다른 것입니다.
인텔리제이에서 설정에 gradle을 검색해서
위와 같은 항목으로 들어가면
Gradle Projects에서
위와 같이 Build and run using과 Run tests using을 선택할 수 있습니다.
눌러보면
Gradle과 IntelliJ IDEA를 선택할 수 있는데요.
여기서 Gradle을 선택해서 프로젝트를 빌드한다면 build 폴더가 생기며
IntelliJ IDEA를 선택해서 프로젝트를 빌드한다면 out 폴더가 생기는 것입니다.
번갈아가서 사용했다면 두 폴더 다 남아있게 되는 것입니다.
삭제하면 프로젝트 실행 시에 다시 빌드가 되어 생성이 되므로
build, out 폴더 두 개 다 있다면 깔끔하게 삭제해도 되겠죠?
정리:
- build 폴더 : 프로젝트 빌드 도구가 Gradle
- out 폴더 : 프로젝트 빌드 도구가 IntelliJ IDEA
그럼 여기서 빌드 도구를 뭘 써야하나 고민이 되는 분들도 있을텐데요
Spring boot 버전에 따라 갈립니다.
Spring boot는 버전 별로 상이한 것도 많고 되는 것도 안되는.. 악명이 좀 있죠
3. 빌드시 Gradle, IntelliJ IDEA 선택
결론부터 말하자면
- Spring boot 버전이 3.2 버전 이전 : IntelliJ IDEA(선택)
- Spring boot 버전이 3.2 버전 이상 : Gradle(필수)
- 인텔리제이 무료버전 : Spring boot 버전 상관없이 Gradle
위 처럼 설정해주시면 효율적인 개발이 가능합니다.
Spring boot 버전이 3.2 버전 이전이라면
Gradle보다 IntelliJ IDEA로 설정했을 때 자바로 바로 실행해서 실행속도가 더 빠릅니다.(선택)
하지만 Spring boot 버전이 3.2 이상이라면
IntelliJ IDEA를 선택했을 때 몇가지 오류가 발생하므로 Gradle을 선택해야 합니다.(필수)
물론 위에서 정리했지만 무료버전이라면 디폴트 값 그대로 Gradle을 사용하시면 되겠습니다.
더 깊게 들어가면 무료버전 일 때, Jar 파일의 경우는 문제가 없는데
War의 경우 톰캣이 정상 시작되지 않는 문제가 발생할 수 있습니다.(유료버전은 상관없이 잘 작동합니다.)
사실 요즘 거의 다 Jar를 쓰긴 하지만 안전하게 Gradle을 쓰시면 되겠습니다.
'Spring(boot)' 카테고리의 다른 글
PatternMatchUtils(간단한 패턴 매치) (0) | 2024.09.09 |
---|---|
bean validation (0) | 2024.09.07 |
Logging (SLF4J) 사용하기 (1) | 2024.02.02 |
스프링의 웹 스코프(Web Scope) 이해하기: Request Scope (0) | 2024.01.19 |
스프링의 빈 스코프(bean scope) 이해하기 (0) | 2024.01.18 |