ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Gradle을 이용해 자바 프로젝트 만들기
    소프트웨어 개발 툴 2019. 2. 17. 15:36

    이 포스트를 이용해 Gradle 자바 프로젝트를 생성하는 법을 알아 보도록 하겠다.

    예상 독자

     이 포스트의 독자들은 자바 개발 환경 설정을 마친 상태이며, 각자 원하는 IDE를 다운로드한 상태이다. 본인의 IDE에서 여러가지 플러그인을 다운로드 받고 사용 해 본 적이 있으면 몇몇의 커맨드라인 작업과도 친숙하다. 작은 자바 프로젝트 몇 개를 한 경험이 있으며, 이제는 자바를 이용해 웹 어플리케이션이나 상업 어플리케이션을 만드는데 관심이 있는 사람들이다. 이 포스트는 인텔리제이(IntelliJ) IDE를 기반으로 한다. 몇 가지 세팅을 제외하고는 거의 비슷하므로 IDE는 큰 상관이 없다.

    목표

    •  Gradle
    •  Gradle 설치
    •  Gradle로 자바 프로젝트 만들기
    •  

    Gradle

     그래들이란 오픈소스 빌드 자동화 툴이다. 이게 무슨 말이냐, 여러분은 자바 프로젝트를 하면서 외부 라이브러리르 갖다 쓴 적이 있을 것이다. 그 때마다 여러분은 외부 라이브러리 jar파일을 가져와 Classpath에 추가해야 했을 것이다. 외부 라이브러리가 1개라면 상관 없겠지만 100개 1000개라면 인간이 직접 관리하기에는 너무 많은 양일 것이다. 그래들은 여러분이 jar파일을 추가하는 대신 해당 라이브러리의 이름과 버전 등등 몇가지 정보를 build.gradle이라는 파일에 명시하고, gradle은 그 파일을 참고하여 인터넷에서 jar파일을 다운받아 추가 해준다. 그래들은 다양한 기능들이 더 있지만, 지금은 이 정도만 알아도 된다.

    Gradle 설치

    그래들 설치의 경우 그래들 사이트에서 참고할 수 있다. 그래들 설치

    윈도우즈 유저

    1. 그래들을 다운받는다.

    2. C:\Gradle 이라는 디렉토리를 C:드라이브 아래에 만든다.

    3. 다운받은 그래들 zip파일을 압축해제 한 후 C:\Gradle에 집어 넣는다. (압축 해제를 하면 gradle-5.1.2 이런식으로 폴더가 나올 것이다.

    4. 환경 변수 설정을 한다. 

     4.1 내 컴퓨터(This PC)에 마우스 오른쪽 클릭을 해서 속성을 들어간다.

     4.2 왼쪽의 고급 시스템 설정에 들어간다.

     4.3 환경 변수를 클릭한다.

     4.4 Path 변수에 편집을 누르고 C:\Gradle\gradle-5.2.1\bin 이런식으로 다운받은 Gradle 폴더 안의 그래들 bin의 경로를 추가한다. gradle-5.2.1이 아니고 버전 다를수도 있으니 꼭 확인하고 추가하라.

    맥 유저

     Homebrew를 이용해 설치한다. Homebrew가 없다면 맥북 Homebrew 설치하기를 통해 설치해라.

    brew install gradle ==> Downloading https://downloads.gradle.org/distributions/gradle-5.2.1-all.zip ######################################################################## 100.0% 🍺 /usr/local/Cellar/gradle/5.2.1: 13,355 files, 235.3MB, built in 54 seconds

    이렇게 뜨면 설치 완료.

    설치 후 터미널이나  cmd에서 gradle --version을 치면 다음과 같이 나온다.

    ➜ gradle --version

    Welcome to Gradle 5.2.1!

    Here are the highlights of this release:
    - Define sets of dependencies that work together with Java Platform plugin
    - New C++ plugins with dependency management built-in
    - New C++ project types for gradle init
    - Service injection into plugins and project extensions

    For more details see https://docs.gradle.org/5.2.1/release-notes.html


    ------------------------------------------------------------
    Gradle 5.2.1
    ------------------------------------------------------------

    Build time: 2019-02-08 19:00:10 UTC
    Revision: f02764e074c32ee8851a4e1877dd1fea8ffb7183

    Kotlin DSL: 1.1.3
    Kotlin: 1.3.20
    Groovy: 2.5.4
    Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
    JVM: 1.8.0_202-ea (Oracle Corporation 25.202-b03)
    OS: Mac OS X 10.14.3 x86_64

    이클립스의 경우 그래들 빌드쉽 플러그인을 설치하면 이클립스 내에서 그래들 프로젝트를 인식하고 사용 할 수 있다. 그래들 빌드십 플러그인 링크

    IntelliJ의 경우 그래들이 이미 지원되므로 특별히 플러그인을 설치 할 필요는 없다.

    Gradle로 자바 프로젝트 만들기

    원하는 곳에 프로젝트 디렉토리를 생성하라.

    mkdir myFirstGradleProject

    새로 생성한 프로젝트 디렉토리로 들어가라.

    cd myFirstGradleProject

     gradle init명령어를 이용해 프로젝트를 그래들 프로젝트로 초기화 하라.

    gradle init

    Starting a Gradle Daemon (subsequent builds will be faster)

    Select type of project to generate:
    1: basic
    2: cpp-application
    3: cpp-library
    4: groovy-application
    5: groovy-library
    6: java-application
    7: java-library
    8: kotlin-application
    9: kotlin-library
    10: scala-library
    Enter selection (default: basic) [1..10] 6

    위와 같은 화면이 나오면 6로 자바어플리케이션을 선택한다.

    Select build script DSL:
    1: groovy
    2: kotlin
    Enter selection (default: groovy) [1..2] 1

    위와 같은 화면이 나오면 엔터를 누르던지 1을 선택해라. 

    Select test framework:
    1: junit
    2: testng
    3: spock
    Enter selection (default: junit) [1..3]

    위와 같은 화면이 나오면 엔터를 누르던지 1을 선택하라.

    Project name (default: myFirstGradleProject):
    Source package (default: myFirstGradleProject):

    BUILD SUCCESSFUL in 2m 13s
    2 actionable tasks: 2 executed

    나머지는 전부 엔터 엔터를 쳐서 default값이 들어가게 하면 된다.

    ls build.gradle gradlew settings.gradle
    gradle gradlew.bat src

    위와같이 그래들이 필요한 라이브러리 및 디렉토리를 생성했음을 알 수 있다. 이제 여러분의 IDE로 가 프로젝트를 열어보자. 이클립스/인텔리제이 모두 "Import Project"를 해야한다. 보통 File아래에 Import Project가 있으니 찾아보길 바란다.


    이렇게 하고 next next를 눌러서 완료하면 다음처럼 프로젝트 네비게이터에 프로젝트가 보일 것이다.


    main을 쭉 열고 들어가 보면 App.java라는 클래스가 자동으로 생성되어 있을 것이다.

    /*
    * This Java source file was generated by the Gradle 'init' task.
    */
    package myFirstGradleProject;

    public class App {
    public String getGreeting() {
    return "Hello world.";
    }

    public static void main(String[] args) {
    System.out.println(new App().getGreeting());
    }
    }

    이 어플리케이션을 터미널/cmd에서 실행 시켜보자. 아까의 터미널 화면으로 돌아가 다음의 명령어를 이용해 빌드(컴파일)한다.

    gradle clean build BUILD SUCCESSFUL in 4s 8 actionable tasks: 7 executed, 1 up-to-date

    이제 실행시켜보자.

    gradle run
    
    > Task :run
    Hello world.
    
    BUILD SUCCESSFUL in 0s
    2 actionable tasks: 1 executed, 1 up-to-date

    만약 스프링 부트 프로젝트를 만들고 싶다면 Gradle프로젝트부터 만드는 게 아닌 스프링 이니샬라이저 를 통해 뼈대를 다운 받는 방법을 추천한다.

    Dependencies에 원하는 라이브러리들을 추가하고 Generate Project를 누르면 프로젝트를 다운로드 할 수 있다. 이후에는 마찬가지로 압축을 푼 후 원하는 IDE로 import project하면 된다.

    댓글

f.software engineer @ All Right Reserved