위와 같이 기본 태스크들이 존재하는데 주로 이용하는 것은 build
와 clean
명령어일 것이다.
build
: 현재까지 작성한 자바 파일은 클래스 파일의 형태로 변경해주고, 또 기타 작업들을 하면서 build
라는 디렉토리 내부에 내 프로젝트를 실행 가능한 형태로 만들어준다.clean
: 빌드된 내용을 지워준다. 주로 프로젝트 내부에서 변경사항이 있을 때, 그 부분을 제대로 적용시키려고 clean
하는 경우가 많다.
build
를 실행시키면 내부적으로 어떤task
들이 실행되었는지 나온다.
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
와 같은 형식으로 의존성을 넣어주게 되는데, 앞에 implentation
을 기준으로 나뉘고 또, :
를 기준으로 2가지 파트로 나뉜다. 위 의존성을 기준으로 살펴보자.
implementation
: 해당 의존성이 필요한 시점을 가리키는데 implementation
은 컴파일타임과 런타임 시점 모두에 필요한 의존성이라는 뜻이다.groupId
: org.springframework.boot
가 해당 의존성이 들어있는 그룹의 이름이다.artifactId
: spring-boot-starter-data-jpa
가 우리가 프로젝트를 생성할 때 프로젝트 이름을 설정했듯, 해당 라이브러리의 프로젝트 이름이다.자바 프로젝트를 실행하면 다음과 같은 2가지 classpath가 존재한다.
.class
파일로 컴파일하는데 필요로 하는 의존성 목록이 들어간다.Gradle 내부에서 어떤 의존성이 어떤 classpath에 들어갈지 직접 설정해줄 수 있다. 그래서 의존성을 선언하는데는 3가지 키워드 옵션을 갖는다.
위와 같이 의존성에 대한 classpath를 지키면 다음과 같은 장점이 생긴다.
레퍼런스: https://tomgregory.com/gradle-implementation-vs-compile-dependencies/
레퍼런스에는 테스트 혹은 라이브러리 작성 시에 관여하는 의존성 정보들도 포함하여 설명해주고 있다.
test 라는 글자가 붙은 영역은 당연히 테스트 시에만 쓰인다.
로그를 통해 다양한 정보를 확인할 수 있다.
No active profile set
: 프로젝트의 profile
이 선택되지 않아서 default
라는 profile
을 사용한다.Devtools property defaults active!
: 스프링 데브툴이 기본으로 활성화 되어있다.등등 많은 정보를 알 수 있다.
보통 어떤 프로그램을 개발하며 배포하는데에 로컬 환경, 개발 환경, 운영 환경에서 작업을 하게 된다. 그러한 환경에 따라서 실행될 코드가 약간 달라지는 경우가 많은데 그런 경우 유용하게 사용할 수 있는 개념이다.
애플리케이션 실행 시 Edit Configurations...
에 들어가서
Active Profiles
부분을 local
, development
, production
등으로 변경하여 실행하면 된다.