Gradle

배세훈·2022년 6월 20일
0

gradle

목록 보기
1/1

1. Gradle 프로젝트 구조

.gradle 디렉토리

  • Gradle이 사용하는 폴더입니다. 작업(task)로 생성된 파일이 저장됩니다. 이 내용을 편집하는 일은 거의 없습니다.

gradle 디렉토리

  • Gradle이 필요한 경우 사용할 디렉토리입니다. 기본적으로 Gradle 환경을 정리한 Wrapper 파일 이라는 파일들이 저장되어 있습니다.

src 디렉토리

  • 프로젝트에서 만든 프로그램 관련 디렉토리입니다. 프로젝트에서 사용하는 파일(소스코드 ,각종 리소스 파일 등)은 모두 포함됩니다.

build.gradle

  • Gradle 기본 빌드 설정 파일입니다. 이 안에 프로젝트 빌드 처리에 대해서 내용이 작성되어 있습니다.

gradlew, gradlew.bat

  • 이 2개는 Gradle 명령입니다. bat가 붙어있는 것이 Windows 용이고, macOs 및 Linux 용입니다.

settings.gradle

  • 프로젝트에 대한 설정 정보를 작성한 파일입니다.

가장 중요한 것은 src 디렉토리입니다. 이 안에 개발하는 프로그램에서 사용하는 파일이 모두 저장됩니다. 다음으로 중요한 것이 build.gradle 파일입니다. 이것은 빌드 파일이고 해서 빌드 처리의 내용을 작성하는 파일입니다. 이 파일은 Groovy 언어로 작성되어 있습니다.

MSA(Micro Service Architecture) 구조로 프로젝트를 구성할 경우 root 프로젝트 하위로 모듈을 추가할 경우 settings.gradle 파일에 모듈을 추가한다고 명시를 해야 합니다.

2. Gradle 플러그인

  • Java 플러그인 추가
    apply plugin: 'java'

처음 apply plugin: 라는 것은 Gradle 플러그인을 사용하기 위한 것
java는 Java 프로그램을 위한 기능을 제공하는 플러그인.

  • application 플러그인 추가
    apply plugin: 'application

이 application은 응용 프로그램에 대한 기능을 제공하는 플러그인입니다. run 응용프로그램을 실행하는 테스크도 application 플러그인에 의해 제공되는 테스크입니다.

  • 메인 클래스 이름
    mainClassName = 'App'
    이것은 application 플러그인으로 사용되는 것으로 메인 클래스를 지정합니다. run으로 응용프로그램을 실행할 수 있었던 것도 이 mainClassName 메인 클래스가 지정되어 있었기 때문입니다.

3. 저장소(repository)

  • build.gradle에 기술된 내용에는 "의존 라이브러리"에 대한 기술이 있었습니다. Gradle에는 프로그램으로 필요한 라이브러리를 자동으로 다운로드하고 통합하는 기능이 있습니다. 따라서 중요해지는 것은 저장소(repository)입니다.

저장소라는 것은 각종 프로그램들이 저장되는 위치입니다. 이 저장소는 "어떤 저장소를 사용하는지"를 빌드 파일에 작성하여 설정할 수 있습니다.

repositories{
	...저장소 설정...
}

{} 안에 저장소를 설정하는 문장을 작성합니다.
온라인으로 접속하여 사용할 수 있는 저장소로 Gradle에서는 대체로 다음 2개의 저장소 서비스를 이용합니다.

Maven 중앙 저장소

mavenCentral()

이것은 Apach Maven 중앙 저장소를 이용하기 위한 것입니다. Gradle은 중앙 저장소를 그대로 사용할 수 있습니다.

jcenter()

이 밖에 JCenter라는 저장소를 사용할 수 있습니다. 이것은 Maven과 Gradle 등 각종 빌드 도구에서 사용할 수 있는 공개 저장소입니다. mavenCentral(), jcenter()는 Gradle 메서드입니다. 이러한 repositories 안에서 호출하여 지정된 저장소를 사용할 수 있습니다.

4. 의존 라이브러리(dependencies)

저장소에서 필요한 라이브러리를 사용할 수 있는 것이 dependencies라는 문장입니다. 아래와 같이 기술합니다.

dependencies{
	... 라이브러리 지정 ...
}

컴파일시 의존 라이브러리

compile 'org.projectlombok:lombok'
이것은 컴파일시에 사용하는 라이브러리를 지정하고 있습니다.

테스트 컴파일시 의존 라이브러리

testCompile 'junit:junit:4.12'
이것은 테스트 컴파일에 사용하는 라이브러리를 지정합니다. testCompile 라고 기술하는 것으로 그 라이브러리가 테스트 컴파일 시에 참조되는 것을 나타냅니다.

profile
성장형 인간

0개의 댓글