S01L03 – Maven을 사용한 HelloWorld Java 프로그램

html



IntelliJ IDEA에서 Maven 프로젝트 생성: 종합 가이드

목차

  1. 소개
  2. Maven 프로젝트 설정
    1. IntelliJ IDEA 실행 및 새 프로젝트 시작
    2. 프로젝트 세부 정보 구성
  3. pom.xml 이해하기
    1. 컴파일러 소스 및 타겟 설정
    2. 패키징 유형 정의
  4. 패키지 생성 및 관리
    1. 샘플 코드 추가
  5. 애플리케이션 빌드 및 실행
    1. IntelliJ IDEA에서 애플리케이션 실행
    2. Maven을 사용하여 JAR 파일 생성
  6. 일반적인 문제 및 문제 해결
  7. 결론

소개

IntelliJ IDEA에서 Maven 프로젝트를 생성하는 이 종합 가이드에 오신 것을 환영합니다. 초보자이거나 기본 지식을 갖춘 개발자로서 Java 프로젝트 관리를 간소화하려는 경우, Maven은 필수 도구입니다. 이 가이드는 Maven 프로젝트 설정, 필수 설정 구성, 샘플 코드 작성, 애플리케이션을 JAR 파일로 빌드하는 과정을 단계별로 안내합니다.

Maven을 사용하는 이유는?

Maven은 프로젝트 빌드 자동화, 의존성 관리 및 프로젝트 구조 표준화를 단순화합니다. 균일한 빌드 시스템을 제공함으로써 생산성을 향상시키고, 대규모 프로젝트 관리에 수반되는 복잡성을 줄여줍니다.

Maven 사용의 장단점

장점 단점
의존성 관리 단순화 초보자에게 학습 곡선이 가파를 수 있음
프로젝트 구조 표준화 구성이 장황할 수 있음
IDE와의 통합 용이 Maven 문제 디버깅이 어려울 수 있음
빌드 자동화 향상 소규모 프로젝트에는 오버헤드가 발생할 수 있음

Maven을 언제 사용해야 하나요?

Maven은 표준화된 빌드 프로세스와 효율적인 의존성 관리가 필요한 중간 규모에서 대규모 Java 프로젝트에 이상적입니다. 특히 팀 협업 시 개발 환경 전반에 걸쳐 일관성을 보장하여 더욱 유용합니다.


Maven 프로젝트 설정

IntelliJ IDEA 실행 및 새 프로젝트 시작

  1. IntelliJ IDEA 열기: 컴퓨터에서 IntelliJ IDEA 애플리케이션을 실행합니다.
  2. 새 프로젝트 생성: 환영 화면에서 "새 프로젝트" 옵션을 클릭하거나 File > New > Project로 이동합니다.

    새 프로젝트 스크린샷
    그림 1: IntelliJ IDEA에서 새 프로젝트 시작.

프로젝트 세부 정보 구성

  1. Maven 선택: "새 프로젝트" 창에서 프로젝트 유형으로 Maven을 선택합니다.

    Maven 선택 스크린샷
    그림 2: 프로젝트 유형으로 Maven 선택.
  2. 프로젝트 이름 및 위치:
    • 이름: Hello World을 입력합니다.
    • 위치: 기본 Idea Project 위치를 사용하거나 선호하는 디렉토리를 지정합니다.
  3. JDK 버전: 호환성과 안정성을 보장하기 위해 장기 지원(LTS) 버전인 JDK 17을 선택합니다.
  4. Maven Archetype: 단순화를 위해 Maven archetype 선택을 건너뜁니다.
  5. Group ID 및 Artifact ID:
    • Group ID: org.studyeasy을 입력합니다.
    • Artifact ID: hello-world을 입력합니다(공백 없음).
  6. 생성 마무리: Create를 클릭하여 Maven 프로젝트 구조를 생성합니다.

pom.xml 이해하기

pom.xml 파일은 Maven 프로젝트의 핵심으로, 프로젝트 구성, 의존성 및 빌드 설정을 관리합니다.

컴파일러 소스 및 타겟 설정

그림 3: pom.xml 샘플 구성.

설명:

  • maven.compiler.sourcemaven.compiler.target: 두 값 모두 17로 설정되어 선택한 JDK 버전과 일치합니다.
  • packaging: 출력 아티팩트 유형을 지정하기 위해 jar으로 정의됩니다.

패키징 유형 정의

패키징 유형을 jar으로 설정하면 빌드 프로세스가 Java 애플리케이션의 일반적인 형식인 JAR 파일을 생성하도록 보장됩니다.


패키지 생성 및 관리

샘플 코드 추가

프로젝트 생성 시 IntelliJ IDEA는 필요한 디렉토리와 샘플 Java 파일을 생성합니다.

  1. 기본 패키지: src/main/java 디렉토리로 이동하여 main.java 파일을 찾습니다.
  2. 새 패키지 생성 (필요한 경우):
    • src/main/java를 마우스 오른쪽 버튼으로 클릭합니다.
    • New > Package를 선택합니다.
    • org.studyeasy라고 이름을 지정합니다.
  3. 샘플 코드: 환영 메시지를 표시하는 간단한 Java 프로그램입니다.

그림 4: 주석이 포함된 샘플 Java 코드.

설명:

  • Package Declaration: org.studyeasy는 조직적인 코드 구조를 보장합니다.
  • Main Class: 애플리케이션의 진입점인 main 메서드를 포함합니다.
  • Print Statement: 콘솔에 "Hello and welcome."을 출력합니다.

애플리케이션 빌드 및 실행

IntelliJ IDEA에서 애플리케이션 실행

  1. 프로그램 실행:
    • 툴바의 Run 버튼을 클릭합니다.
    • 또는 Main 클래스를 마우스 오른쪽 버튼으로 클릭하고 Run 'Main.main()'을 선택합니다.

    실행 구성 스크린샷
    그림 5: 애플리케이션 실행.

  2. 출력:

    이는 애플리케이션이 성공적으로 실행되었음을 확인합니다.

Maven을 사용하여 JAR 파일 생성

  1. 구성 편집:
    • Run > Edit Configurations으로 이동합니다.
    • + 아이콘을 클릭하여 새 구성을 추가합니다.
    • Maven을 선택합니다.
  2. Maven 목표 정의:
    • 명령줄: clean package를 입력합니다.
      • clean: 새 빌드를 보장하기 위해 target 디렉토리를 제거합니다.
      • package: 코드를 컴파일하고 pom.xml에 정의된 대로 JAR 파일로 패키징합니다.
    • Maven 구성 스크린샷
      그림 6: Maven 목표 구성.

  3. Maven 빌드 실행: Apply를 클릭한 다음 Run을 클릭합니다. Maven은 정의된 목표를 실행하여 target 디렉토리에 JAR 파일을 생성합니다.
  4. 경고 처리:
    • 매니페스트 파일과 관련된 경고가 발생할 수 있습니다. 이는 일반적이며 후속 튜토리얼에서 다룰 수 있습니다.

일반적인 문제 및 문제 해결

Manifest 파일 오류

JAR 파일을 생성한 후 실행을 시도하면 manifest 파일 오류가 발생할 수 있습니다. 이는 JAR에 main 메서드를 실행하는 데 필요한 메타데이터가 없기 때문입니다.

해결 방법:

  • pom.xmlmainClass를 정의하여 진입점을 지정합니다.

설명:

  • maven-jar-plugin: JAR 플러그인 구성을 지정합니다.
  • mainClass: Main 클래스를 가리키며 main 메서드를 포함합니다.
  • 프로젝트 재빌드: clean package를 다시 실행하여 올바른 매니페스트가 포함된 업데이트된 JAR을 생성합니다.

대체 방법:

  • Maven의 Shade Plugin 또는 기타 어셈블리 플러그인을 사용하여 더 복잡한 패키징 요구 사항을 충족할 수 있습니다.

결론

IntelliJ IDEA에서 Maven 프로젝트를 생성하는 과정은 Java 개발 워크플로우를 향상시키는 간소화된 과정입니다. 이 가이드를 따라 Maven 프로젝트 설정, 필수 설정 구성, 샘플 코드 작성 및 애플리케이션을 실행 가능한 JAR 파일로 빌드하는 방법을 배웠습니다. Maven의 표준화된 구조와 의존성 관리 기능은 초보자와 숙련된 개발자 모두에게 귀중한 도구입니다.

핵심 요점

  • Maven 통합: IntelliJ IDEA와 원활하게 통합되어 프로젝트 설정을 단순화합니다.
  • pom.xml 구성: 프로젝트 설정, 의존성 및 빌드 지침을 중앙에서 관리합니다.
  • 효율적인 빌드 프로세스: clean package와 같은 명령어를 통해 빌드 및 패키징을 자동화합니다.
  • 문제 해결: 매니페스트 파일 오류와 같은 일반적인 문제를 이해하는 것은 원활한 개발을 위해 중요합니다.

Maven을 활용하여 Java 프로젝트의 일관성, 확장성 및 효율성을 보장하고 개발 노력을 향상시키세요.


Share your love