SW/Gradle

Gradle로 자바 프로젝트 빌드 및 실행: Gradle 태스크 활용 가이드

얇은생각 2024. 10. 18. 07:30
반응형

현대 소프트웨어 개발에서는 빌드 자동화가 필수적입니다. Gradle은 이러한 빌드 자동화를 가능하게 하는 강력한 도구 중 하나로, 특히 자바 프로젝트에서 자주 사용됩니다. Gradle은 여러 기본 태스크(task)를 제공하여 컴파일, 테스트, 클린, 배포 등을 손쉽게 수행할 수 있도록 해줍니다. 이번 글에서는 Gradle 태스크를 사용하여 자바 프로젝트를 빌드하고 실행하는 방법을 자세히 설명하겠습니다.

 

 

Gradle로 자바 프로젝트 빌드 및 실행: Gradle 태스크 활용 가이드

 

 

Gradle 태스크란?

Gradle에서 태스크는 프로젝트 빌드 과정에서 실행되는 작업 단위입니다. 기본적으로 Gradle은 다양한 태스크를 제공하며, 이를 통해 프로젝트 빌드, 테스트, 패키징, 배포 등의 작업을 자동화할 수 있습니다. 개발자는 필요에 따라 새로운 태스크를 정의하거나 기본 태스크를 확장할 수 있습니다.

 

 

Gradle 태스크 목록 확인하기

Gradle 프로젝트를 생성한 후, 사용할 수 있는 태스크 목록을 확인할 수 있습니다. 다음 명령어를 사용하여 현재 프로젝트에서 실행 가능한 모든 태스크를 확인합니다:

gradle tasks --all

 

 

이 명령어를 실행하면 컴파일, 테스트, 클린, 패키징 등 다양한 태스크 목록이 출력됩니다. 이 중에서 자바 프로젝트에서는 주로 다음과 같은 태스크를 사용합니다:

  • compileJava: 자바 소스 코드를 컴파일합니다.
  • compileTestJava: 테스트 코드를 컴파일합니다.
  • test: JUnit 테스트를 실행합니다.
  • jar: 프로젝트를 .jar 파일로 패키징합니다.
  • run: 애플리케이션을 실행합니다.

 

 

Gradle로 자바 프로젝트 빌드하기

1. 자바 코드 컴파일

자바 소스 코드를 컴파일하기 위해 compileJava 태스크를 실행합니다. 이 태스크는 src/main/java 디렉토리에 있는 모든 자바 소스 파일을 컴파일하고, 결과물은 build/classes/java/main 폴더에 저장됩니다. 컴파일을 실행하려면 다음 명령어를 사용합니다:

gradle compileJava

 

컴파일이 완료되면 build 폴더가 생성되고, 그 안의 classes 폴더에 컴파일된 바이트코드가 저장됩니다. 여기에는 자바 소스 파일의 .class 파일이 포함됩니다. Gradle은 컴파일 결과를 자동으로 관리하므로, 이후에 변경된 파일만 다시 컴파일합니다.

 

 

2. 빌드 결과 정리하기: 클린 태스크

빌드를 완료한 후, 이전 빌드 결과를 정리하고 새로운 빌드를 준비할 때는 clean 태스크를 사용합니다. 이 태스크는 build 폴더를 삭제하여 이전 빌드 결과를 제거합니다:

gradle clean

 

 

이 명령어를 실행하면 build 폴더가 삭제되고, 새로운 빌드를 위한 깨끗한 상태가 유지됩니다.

 

 

Gradle로 테스트 실행하기

Gradle은 프로젝트의 단위 테스트를 자동으로 실행할 수 있는 태스크도 제공합니다. 자바 프로젝트에서는 주로 JUnit을 사용해 테스트를 진행하며, test 태스크를 사용해 테스트를 실행할 수 있습니다.

1. 테스트 실행

테스트를 실행하려면 다음 명령어를 사용합니다:

gradle test

 

이 명령어는 src/test/java 폴더에 있는 테스트 코드를 컴파일하고, 모든 테스트 케이스를 실행합니다. 테스트가 완료되면 결과는 build/reports/tests/test/index.html 파일에 저장됩니다. HTML 파일을 열어 테스트 결과를 시각적으로 확인할 수 있습니다.

 

 

2. 테스트 결과 확인

테스트가 성공적으로 실행되면 100% 성공이라는 메시지가 출력됩니다. 하지만 테스트가 실패한 경우, 실패한 테스트 케이스와 오류 메시지가 표시됩니다. 예를 들어, AppTest.java 파일의 예상 값과 실제 값이 일치하지 않을 경우, 오류가 발생합니다.

테스트 결과를 다시 확인하려면 다음과 같은 경로에서 HTML 파일을 열어 테스트 결과를 시각적으로 확인할 수 있습니다:

build/reports/tests/test/index.html

 

 

HTML 파일에서는 각 테스트 메서드의 상태와 성공 여부를 확인할 수 있습니다.

 

3. 테스트 실패 시 디버깅

테스트가 실패한 경우, 실패한 테스트 메서드의 오류 내용을 확인하고 수정해야 합니다. 예를 들어, App.java의 메서드가 잘못된 값을 반환하도록 코드를 수정한 후, 테스트를 다시 실행하여 오류를 유발할 수 있습니다.

// App.java
public String getGreeting() {
    return null; // 오류를 유발하기 위해 반환값 변경
}

 

이제 다시 gradle test 명령어를 실행하면, 테스트가 실패하고 실패한 원인과 위치가 출력됩니다.

 

 

Gradle로 자바 애플리케이션 실행하기

Gradle은 애플리케이션을 실행할 수 있는 run 태스크를 제공합니다. 이 태스크는 main 메서드를 포함한 클래스를 찾아 실행합니다.

1. 애플리케이션 실행

프로젝트를 빌드한 후, 다음 명령어를 사용해 애플리케이션을 실행할 수 있습니다:

gradle run

 

 

이 명령어를 실행하면 App.javamain 메서드가 실행되고, 콘솔에 출력 결과가 표시됩니다. 기본적으로 Hello, World!와 같은 메시지를 출력하는 간단한 애플리케이션을 실행할 수 있습니다.

 

 

2. build.gradle 파일에서 메인 클래스 설정

Gradle이 애플리케이션을 실행할 때, 어느 클래스의 main 메서드를 실행할지 결정해야 합니다. 이를 위해 build.gradle 파일에서 메인 클래스를 지정할 수 있습니다. 예를 들어, 다음과 같이 build.gradle 파일에 메인 클래스를 설정할 수 있습니다:

application {
    mainClass = 'com.bharath.gradle.App'
}

 

이 설정을 통해 Gradlerun 태스크를 실행할 때 App.javamain 메서드를 자동으로 실행하도록 할 수 있습니다.

 

 

Gradle JAR 파일 생성하기

애플리케이션을 패키징하여 배포하려면 Gradlejar 태스크를 사용해 JAR 파일을 생성할 수 있습니다. 이 태스크는 컴파일된 클래스 파일을 .jar 형식으로 패키징합니다.

 

1. JAR 파일 생성

다음 명령어를 사용하여 프로젝트를 JAR 파일로 패키징할 수 있습니다:

gradle jar

 

이 명령어를 실행하면 build/libs 폴더에 JAR 파일이 생성됩니다. 이 파일은 배포 가능한 형태로, 다른 환경에서 애플리케이션을 실행할 때 사용할 수 있습니다.

 

 

2. 생성된 JAR 파일 확인

생성된 JAR 파일은 build/libs/ 디렉토리 내에 위치하며, 파일 이름은 프로젝트 이름을 따릅니다. 예를 들어, FirstJavaProject.jar라는 이름으로 생성됩니다.

 

 

결론

이번 포스팅에서는 Gradle을 사용하여 자바 프로젝트를 빌드하고, 테스트하며, 패키징하는 방법을 살펴보았습니다. Gradle의 강력한 태스크 시스템을 통해 복잡한 빌드 과정을 자동화할 수 있으며, 특히 compileJava, test, jar, run 등의 기본 태스크를 사용하여 프로젝트를 손쉽게 관리할 수 있습니다. 또한, Gradle의 플러그인 시스템을 통해 추가적인 기능을 확장할 수 있어, 더 복잡한 프로젝트에서도 유연하게 활용할 수 있습니다. 

반응형