본문 바로가기
프로그래밍/기타

[gradle] gradle을 이용하여 java 프로젝트 만들기

by 사바라다 2020. 5. 17.

안녕하세요. 오늘은 gradle 빌드 도구에 대해서 알아보는 첫번째 시간입니다.  여러분들과 함께 진행해볼 내용은 gradle을 이용하여 java 프로젝트를 만드는 것입니다.

gradle로 java 프로젝트를 만든다? 어떤거라고 생각하시나요? 일반적으로 프로젝트를 만든다면 IDE를 이용하여 만듭니다. intellij나 STS로 project를 gradle로 생성해서 만듭니다. 하지만 프로젝트 생성은 gradle의 명령어 만으로도 만들 수 있다는 사실 알고 계셨나요?

오늘은 gradle을 이용해서 java project를 생성해보도록 하겠습니다.

오늘 진행하는 프로젝트에서 제가 사용한 환경은 MAC입니다. windows환경은 다를 수 있음을 알려드립니다.

gradle 설치

gradle 명령어를 이용하려면 먼저 gradle을 설치해야합니다.

gradle은 brew를 통해 설치하실 수 있습니다. (homebrew 설치가 안되신분들은 설치가 우선시 되어야 합니다.)

$ brew update && brew install gradle

설치 완료후 gradle 명령어를 입력하면 아래와 같이 버전과 기본적인 명령어가 출력될것입니다.

gradle init

이제 본격적으로 gradle 명령어를 이용해 java 프로젝트를 생성해보도록 하겠습니다. java 프로젝트를 생성할 수 있는 명령어는 gradle init입니다.

위 이미지는 gradle init을 실행하고 설정하는 것을 스크린샷으로 캡쳐한 이미지입니다. 제일먼저 프로젝트의 type을 선택합니다. 실행가능한 프로그램을 만들 것이므로 application을 선택했습니다. 그리고 구현할 언어를 선택합니다. Java를 선택했습니다. 그 다음 build script(빌드 도구)를 어떤 언어로 작성할 건지 선택합니다. 저는 Groovy 문법을 선택했습니다. 그리고 test 프레임워크를 선택할 수 있습니다. JUnit5(JUnit Jupiter)를 선택했습니다. 마지막으로 Project 이름과 package 이름을 설정하면 init task가 시작됩니다. 그리고 SUCCESSFUL이 뜨면 정상적으로 java 프로젝트가 생성된 것입니다.

아래는 프로젝트가 생성된 후 캡처한 directory 구조 입니다. 우리가 일반적으로 IDE를 통해 만드는 java 프로젝트 구조와 동일한것을 알 수 있었습니다.

gradle.build

이렇게 만들어진 프로젝트의 gradle.build 파일을 확인해보겠습니다. 아래 파일입니다. 제일 상단의 주석을 통해 gralde init 명령어를 통해 생성되었다는 것을 명시하고 있습니다.

또한 plugin은 java와 application을 가지고 있으며 각 라인에 대한 설명을 주석으로 명시하고 있는게 보기 좋습니다. 그리고 재밌는 점은 기본 의존성(dependency)로 guava를 가지고 있는 점도 눈에 띕니다. 그리고 저는 gradle init 중에 테스트 프레임워크를 junit jupiter로 설정했기때문에 테스트 프레임워크는 jupiter인것도 확인할 수 있었습니다.

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * User Manual available at https://docs.gradle.org/6.4/userguide/tutorial_java_projects.html
 */

plugins {
    // Apply the java plugin to add support for Java
    id 'java'

    // Apply the application plugin to add support for building a CLI application.
    id 'application'
}

repositories {
    // Use jcenter for resolving dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

dependencies {
    // This dependency is used by the application.
    implementation 'com.google.guava:guava:28.2-jre'

    // Use JUnit Jupiter API for testing.
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'

    // Use JUnit Jupiter Engine for testing.
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
}

application {
    // Define the main class for the application.
    mainClassName = 'personal.example.App'
}

test {
    // Use junit platform for unit tests
    useJUnitPlatform()
}

gradle build

이번에는 프로젝트 파일을 실행해보겠습니다. 먼저 실행가능한 파일을 만들어야합니다. 코드를 실행가능한 파일로 만들어주는 명령어라는 gradle build입니다. 그리고 이렇게 실행가능하게 된 패키지를 실행시키는 gradle 명령어는 gradle run입니다.

마무리

오늘은 이렇게 gradle 명령어를 이용하여 java 프로젝트를 생성하는 방법에 대해서 알아보는 시간을 가졌습니다. 다음시간에는 이어서 Spring Boot 2 프로젝트를 gradle 명령어로 생성하는 법을 알아보는 시간을 가져보겠습니다.

감사합니다.

참조

gradle docs

댓글