자바의 빌드 관리 툴(Maven, Grandle)

이도훈·2025년 2월 24일

빌드 관리 툴이란?

빌드 관리 툴은 소스 코드의 컴파일, 테스트, 패키징, 배포 등을 자동화하는 도구

의존성(Dependency)이란?

의존성은 프로젝트에서 필요한 외부 라이브러리를 의미.
Maven과 Grandle을 사용하면 직접 .jar 파일을 다운로드 할 필요 없이, 필요한 라이브러리를 선언만 하면 자동으로 다운로드 및 관리됨.

빌드 관리 툴로 Maven과 Grandle을 사용하는 이유

1. 라이브러리 관리

  • 프로젝트에서 필요한 외부 라이브러리(의존성)을 자동으로 다운로드하고 관리
  • 예를 들어, JSON 파일 처리를 하기 위한 라이브러리인 Gson 라이브러리가 필요하다면 pom.xml(Maven)이나 build.grandle(Grandle)에 추가하는 것으로 쉽게 사용할 수 있음

2. 자동 빌드 및 배포

  • javac 명령어를 이용해 수동으로 컴파일할 필요 없이, mvn package(Maven)나 gradle build(Gradle) 명령어만으로 빌드 가능
  • 빌드 후 .jar 또는 .war 파일을 자동으로 생성하여 배포할 수 있음

3. 의존성 관리

  • 직접 .jar 파일을 다운로드하지 않고도 선언만 하면 필요한 라이브러리를 자동으로 다운로드 및 적용
  • 라이브러리 간의 전이적 의존성(Transitive Dependency)까지 자동으로 해결해 줌

4. 플러그인 지원

  • JUnit(테스트), Checkstyle(코드 품질 검사), Docker(배포) 등 다양한 플러그인을 제공하여 개발을 더욱 편리하게 할 수 있음

Maven 및 Grandle 예제(Gson 라이브러리 추가)

Gson 라이브러리란?

Gson은 Google에서 개발한 JSON 처리 라이브러리로, Java 객체를 JSON 형식으로 변환 하거나, Json 데이터를 Java 객체로 변환하는데 사용됨.

  • 📌 예제
import com.google.gson.Gson;

class User {
    String name;
    int age;
}

public class GsonExample {
    public static void main(String[] args) {
        Gson gson = new Gson();

        // Java 객체 → JSON 문자열
        User user = new User();
        user.name = "Alice";
        user.age = 25;
        String json = gson.toJson(user);
        System.out.println(json); // {"name":"Alice","age":25}

        // JSON 문자열 → Java 객체
        String jsonString = "{\"name\":\"Bob\",\"age\":30}";
        User parsedUser = gson.fromJson(jsonString, User.class);
        System.out.println(parsedUser.name); // Bob
    }
}

Maven 예제 (pom.xml)

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.9</version>
    </dependency>
</dependencies>
  • 위처럼 pom.xml에 추가하면 Maven이 자동으로 Gson 라이브러리를 다운로드하고 프로젝트에서 사용할 수 있도록 설정됨.

Grandle 예제 (build.grandle)

dependencies {
    implementation 'com.google.code.gson:gson:2.8.9'
}
  • 위와 같이 build.gradle에 추가하면 Gradle이 자동으로 라이브러리를 다운로드하고 적용됨.

0개의 댓글