Gradle | Gradle 프로젝트 생성 | 컴파일 및 실행

기본 조작 처리

여기서는 만든 프로젝트를 Gradle 명령으로 처리를 설명한다. 여기에서 컴파일, 실행, 패키지 같은 기본 조작 처리를 설명한다.

프로그램 컴파일

$ gradle compileJava

컴파일은 compileJava 라는 테스크로 제공한다. 이것은 Java 소스 코드를 컴파일하기 위한 것이다.

프로그램 실행

$ gradle run

java-application 타입의 프로젝트에는 run 테스크라는 것이 제공되고, 이를 실행하여 메인 클래스를 실행할 수 있다. 디폴트로 App.java가 실행된다.

프로그램 패키지

$ gradle jar

jar 테스크은 그 이름대로 프로그램을 Jar 파일에 모와서 저장한다. 이는 프로젝트에 생성되는 build 폴더의 libs 폴더에 저장된다.

프로젝트 클린

$ gradle clean

프로젝트를 빌드할 때에 build 폴더에 여러 파일이 저장된다. clean 작업은 이 파일들을 제거하고 빌드 이전 상태로 되돌린다.

빌드 및 실행

위에 처리 방법을 알았으니 실제로 명령을 실행해 보자. 명령 프롬프트 또는 터미널은 열어서 cd로 프로젝트 폴더에 이동한다. 그 상태에서 다음과 같이 실행한다.

$ gradle compileJava
$ gradle run
$ gradle jar

프로그램의 컴파일을 실행한다.

$ gradle compileJava

Download https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.pom
Download https://jcenter.bintray.com/com/google/guava/guava-parent/22.0/guava-parent-22.0.pom
... 중략....
Download https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar
Download https://jcenter.bintray.com/com/google/guava/guava/22.0/guava-22.0.jar

BUILD SUCCESSFUL in 13s
1 actionable task: 1 executed

프로젝트를 실행한다.

$ gradle run

> Task :run
Hello world.


BUILD SUCCESSFUL in 0s
2 actionable tasks: 1 executed, 1 up-to-date

프로젝트의 jar 파일을 생성한다.

$ gradle jar

BUILD SUCCESSFUL in 0s
2 actionable tasks: 1 executed, 1 up-to-date

프로젝트 실행 시에 “Hello World.“라는 메시지가 출력된다. 또한 build 폴더의 libs 폴더에는 GradleApp.jar이라는 Jar 파일이 생성된 것을 확인할 수 있다.

그러나 java -jar GradleApp.jar으로 이 Jar 파일을 실행할 수 없다. 왜냐하면 매니페스트 파일이 포함되어 있지 않아 실행 가능한 Jar 파일로 아니기 때문이다.

jara -classpath GradleApp.jar App와 같은 방식으로 -classpath를 지정하여, 명시적으로 App 클래스를 실행하면 제대로 실행할 수 있다. 조금은 귀찮지만, 일단은 동작하는 것만 확인한다.