ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Gradle] Java Plugin 알아보기
    Java/Gradle 2024. 3. 6. 22:33
    반응형

    - 목차

     

    들어가며.

    Java Plugin Gradle 에서 Java 프로젝트를 빌드하고 관리하는 데 필요한 주요 플러그인입니다.

    이 플러그인은 Java 애플리케이션을 컴파일하고, JAR 파일을 생성하며, 테스트를 실행하고, 의존성을 관리하는 기능을 제공합니다. Gradle 은 기본적으로 Java 빌드를 간편하게 할 수 있도록 많은 기능을 자동으로 제공하고, 다양한 설정을 통해 빌드 프로세스를 커스터마이징할 수 있습니다.

     

    기본적으로 build.gradle 파일 내부에서 아래와 같이 선언하여 사용합니다.

    plugins {
      id 'java'
    }

     

    그리고 java Block 을 통해서 Java Compile, Build 에 관한 여러가지 설정이 가능합니다.

     

    java {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    
        archivesBaseName = 'Hello'
    }

     

    gradle build 실행.

    먼저 간단한 테스트를 위해서 Gradle Docker Container 를 실행합니다.

     

    docker run -it --rm --name gradle gradle bash

     

     

    그리고 Gradle Docker Container 내부에서 build.gradle 파일과 Java Project 를 생성합니다.

     

    mkdir -p ./src/main/java/com/example
    
    cat <<'EOF'> ./src/main/java/com/example/Main.java
    package com.example;
    
    public class Main {
        public static void main(String[] args) {
            System.out.println("Hello, Gradle!");
        }
    }
    
    EOF
    
    cat <<'EOF'> ./build.gradle
    plugins {
      id 'java'
    }
    
    java {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    EOF

     

    생성된 프로젝트의 파일 구조는 아래와 같습니다.

     

    ./src
    ./src/main
    ./src/main/java
    ./src/main/java/com
    ./src/main/java/com/example
    ./src/main/java/com/example/Main.java
    ./build.gradle

     

    이제 gradle build 명령을 실행합니다.

    gradle build

     

    gradle build 이후에는 아래와 같이 Build Output File 들이 생성됩니다.

    특히 build/libs/ 하위에 빌드된 Jar 파일이 위치합니다.

     

    ./build
    ./build/reports
    ./build/reports/problems
    ./build/reports/problems/problems-report.html
    ./build/tmp
    ./build/tmp/jar
    ./build/tmp/jar/MANIFEST.MF
    ./build/tmp/compileJava
    ./build/tmp/compileJava/previous-compilation-data.bin
    ./build/generated
    ./build/generated/sources
    ./build/generated/sources/annotationProcessor
    ./build/generated/sources/annotationProcessor/java
    ./build/generated/sources/annotationProcessor/java/main
    ./build/generated/sources/headers
    ./build/generated/sources/headers/java
    ./build/generated/sources/headers/java/main
    ./build/classes
    ./build/classes/java
    ./build/classes/java/main
    ./build/classes/java/main/com
    ./build/classes/java/main/com/example
    ./build/classes/java/main/com/example/Main.class
    ./build/libs
    ./build/libs/gradle.jar

     

    생성된 Jar File 은 "java -cp ./build/libs/gradle.jar com.example.Main" 명령어를 통해서 실행 가능합니다.

     

    java -cp ./build/libs/gradle.jar com.example.Main

     

     

    반응형
Designed by Tistory.