반응형

Gradle 간단히 사용하기.


Maven 은 사용한지 오래되기도 했고 익숙하지만 Gradle 아직 회사에서 사용을 안 하여;; ㅠㅠ ;;잘 잊어버리곤해서 간단한 Gradle 설치와 실행을 확인해 보고자 한다.


1. Gradle 설치 및 간단한 실행.

  • 먼저 Gradle 사이트에 접속한다.(https://gradle.org/gradle-download/)
  • sdkman 을 사용하던지, 개별적으로 download 하여 $PATH 와 $CLASSPATH 를 설정한다.(나는 후자)
  • 간단한 java project 를 생성 및 Helloworld.java 를 만들고, 프로젝트 폴더 안에 build.gradle 파일을 생성한다.
  • 생성한 build.gradle 에 apply plugin: 'java' 를 한 줄 넣는다.
  • gradle tasks 명령어를 실행해서 콘솔에 뜨는 목록들을 확인해 본다.
  •  gradle build 명령어를 사용하면 test, compile 후 jar 파일이 만들어 지는 것을 볼 수 있다.

실행한 java 파일은 다음과 같습니다.

package main.java.hello;


import org.joda.time.LocalTime;


public class HelloWorld {

public static void main(String[] args) {

LocalTime currentTime = new LocalTime();

System.out.println("The current local time is: " + currentTime);

Greeter greeter = new Greeter();

System.out.println(greeter.sayHello());

}

}


class Greeter {

public String sayHello() {

return "Hello world!";

}

}



2. Gradle 의존 파일들 추가하기.

 

Maven Central 을 추가했듯이 다음과 같이 build.gradle 파일에 추가한다.

repositories {

    mavenCentral()

}


필요한 dependencis 도 추가한다.

sourceCompatibility = 1.8

targetCompatibility = 1.8


dependencies {

    compile "joda-time:joda-time:2.2"

    testCompile "junit:junit:4.12"

}


그리고 JAR Artifact 의 이름도 정의한다.

jar {

    baseName = 'java-test'

    version = '0.1.0'

}


다시 gradle build 를 수행하면 정상적으로 수행된다. (dependency 된 import 는 주석처리)



3. 빌드를 쉽게 도와주는 Gradle Wrapper.


다음의 스크립트를 사용하면 시스템에 Gradle을 설치하지 않고도 Gradle 빌드를 수행할 수 있습니다.

$ gradle wrapper --gradle-version 3.3


생성된 명령어로 빌드를 할 수 있습니다.

./gradlew build


생성된 jar 를 실행해 봅니다. 

$ jar tvf build/libs/java-test-0.1.0.jar

0 Thu Jan 05 01:42:22 KST 2017 META-INF/

25 Thu Jan 05 01:01:30 KST 2017 META-INF/MANIFEST.MF

0 Thu Jan 05 01:01:30 KST 2017 main/

0 Thu Jan 05 01:01:30 KST 2017 main/java/

0 Thu Jan 05 01:42:22 KST 2017 main/java/hello

389 Thu Jan 05 01:42:22 KST 2017 main/java/hello/Greeter.class

1028 Thu Jan 05 01:42:22 KST 2017 main/java/hello/HelloWorld.class


작업한 코드를 실행할 수 있게 하려면 gradle 의 applicaiton 플러그인을 추가해야 합니다. 

build.gradle 파일에 다음과 같이 추가하세요.

apply plugin: 'application'

mainClassName = 'hello.HelloWorld'


자 이제 다시 실행해 봅시다.

$ ./gradlew run


지금은 jar 로 실행했는데요. 

war 로 실행되기를 원하면, 플러그인을 추가하면 됩니다. (https://docs.gradle.org/current/userguide/war_plugin.html)


다 만들어진 build.gradle 파일은 아래처럼 될 것 같습니당.


apply plugin: 'java'

apply plugin: 'application'

mainClassName = 'main.java.hello.HelloWorld'


// For starters, you need to add a source for 3rd party libraries.

// tag::repositories[]

repositories {

    mavenCentral()

}

// end::repositories[]


// tag::jar[]

jar {

    baseName = 'java-test'

    version =  '0.1.0'

}

// end::jar[]


// tag::dependencies[]

sourceCompatibility = 1.8

targetCompatibility = 1.8


dependencies {

    compile "joda-time:joda-time:2.2"

    testCompile "junit:junit:4.12"

}

// end::dependencies[]





반응형

+ Recent posts