티스토리 뷰
스프링 부트 프로젝트를 생성할 때 빌드 툴을 Gradle로 할 수 있다. Maven도 있지만 기능상 차이보다는 편한 것 선택하면 된다.
나는 좀더 힙해보이는 그레이들 선택
그래이들 빌드 스크립트 파일인 gradle.build를 해서 설정을 해줘야하는데 개념을 잘 이해하고 넘어가고 싶었음. 의존성이나 플러그인 설정 같은 빌드에 필요한 설정을 하는 곳이다. 해당 스크립트를 읽어서 프로젝트를 빌드할 수 있다.
참고한 build 스크립트가 중구난방이라 알아보니 2.1 버전부터 문법이 업데이트 됨.(이전 문법도 가능)
직접 작성하는 방법도 있지만 가장 쉬운 방법은 스프링 이니셜라이저를 이용해 프로젝트 기초를 다운 받을 수 있다. https://start.spring.io/
여기서 한가지 의문점 발생
의존성 설정 부분에 블로그들 예시에 있던 complie이 없어서 당황했다. 어떤 글에서는 complie("{ULR}")을 사용하고 이니셜라이저나 io에서는 implementation.. 대충 보면 코드를 컴파일 할 스프링 부트를 불러오는 것 같긴한데 바로 검색해서 찾아봤다.
complie vs implementation
complie - 모듈을 수정하면 의존하고 있는 모듈들 모두가 연쇄적으로 재빌드(recompile)
implementation - 직접 의존하고 있는 단계의 모듈만 재빌드(recompile)
따라서 implementation이 당연히 컴파일이 빠르다. 그리고 의존하고 있는 모듈간에 자율성을 확인한다고 할 수 있겠다.(객체는 서로간의 메세지(API)만 잘 주고 받으면 된다!) 그레이들이 빌드(컴파일)부터 프로젝트의 전체적인 부분을 관리해주는 빌드 자동화 툴이다 보니 이런 부분도 지속적으로 업데이트를 해주는 것 같다. 그래서 예전 자료들과 차이가 있어 헷갈린 것.
중요한 것은 Gradle 3.0 버전 부터는 complie이 deprecated되었다고 한다.
그래서 내 Gradle 버전이 뭐냐?
난 그레이들을 따로 설치한 것도 아니고 인텔리제이에서 하라는 대로하면 되니까 몰랐다... 버전 선택도 따로 없이 그냥 자동으로 빌드해버림... 버전 확인 방법은 gradle wapper에서 확인할 수 있다.
내가 사용하는 gradle 버전은 6.7.1로 확인!! 왠지 complie에서 자동완성이 안되더라!
앞으로 자료에서 complie은 implementation으로 생각하면된다.
그레이들과 스프링이 버전업 되면서 많은 부분이 바뀌었다고 한다. 현업에서는 그래서 예전 버전을 사용한다고 하는데 그렇게 큰 차이는 없는 것 같다. 그래도 혹시나 다운그레이드가 필요하다면 인텔리제이에서 alt+F12를 통해 터미널을 켜고
gradlew wrapper --gradle-version 4.10.2
이 명령어를 통해 하위버전을 사용할 수 있다
차이점을 알았으니 당황하지 말고 헷갈리지 말자!
'공부 > 스프링부트' 카테고리의 다른 글
[스프링부트] 롬복(Lombok) 추가하기 (0) | 2021.01.12 |
---|---|
[스프링부트] 테스트 코드(JUnit5) (0) | 2021.01.10 |