[java] Maven을 사용하여 자바 멀티 모듈 개발하기

이번 포스트에서는 Maven을 사용하여 자바 멀티 모듈을 개발하는 방법에 대해 알아보겠습니다. Maven은 자바 프로젝트를 관리하고 빌드하는 데 사용되는 강력한 도구입니다. 멀티 모듈 프로젝트는 여러 개의 하위 모듈을 포함하는 프로젝트로, 각 모듈은 독립적으로 빌드 및 관리될 수 있습니다.

1. 멀티 모듈 프로젝트 설정하기

먼저, Maven으로 멀티 모듈 프로젝트를 생성하기 위해 아래의 명령어를 사용합니다:

mvn archetype:generate -DgroupId=com.example -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

위 명령어를 실행하면 my-project라는 이름의 기본 멀티 모듈 프로젝트가 생성됩니다. 이제 프로젝트 디렉토리로 이동합니다:

cd my-project

2. 하위 모듈 추가하기

다음으로, 멀티 모듈 프로젝트에 하위 모듈을 추가합니다. 예를 들어, core라는 이름의 하위 모듈을 추가하려면 다음의 명령어를 실행합니다:

mvn archetype:generate -DgroupId=com.example -DartifactId=core -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

이와 같은 방식으로 필요한 만큼의 하위 모듈을 추가할 수 있습니다.

3. 부모 pom.xml 설정하기

멀티 모듈 프로젝트를 관리하기 위해, 부모 프로젝트의 pom.xml 파일을 수정해야 합니다. 부모 pom.xml은 최상위 디렉토리에 위치하며, 모든 하위 모듈에 대한 공통적인 의존성과 빌드 설정을 제공합니다.

부모 pom.xml 파일을 다음과 같이 수정합니다:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-project</artifactId>
    <packaging>pom</packaging>
    <modules>
        <module>core</module>
        <!-- 여기에 추가 필요한 모듈들을 추가합니다 -->
    </modules>
</project>

위 예제에서는 core 모듈만을 포함하도록 설정되어 있습니다. 추가로 필요한 모듈들을 위와 같이 추가할 수 있습니다.

4. 하위 모듈의 pom.xml 설정하기

각 하위 모듈의 pom.xml 파일은 부모 pom.xml에 정의된 의존성을 상속받습니다. 필요한 경우, 각 하위 모듈의 pom.xml 파일에서 추가적인 의존성이나 빌드 설정을 지정할 수 있습니다.

예를 들어, core 모듈의 pom.xml 파일에 junit 의존성을 추가하고 싶다면, 아래와 같이 설정합니다:

<project>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>my-project</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>core</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

위의 예제에서는 junit 의존성을 test 범위로 추가하였습니다.

5. 멀티 모듈 빌드하기

멀티 모듈 프로젝트를 빌드하려면, 프로젝트의 최상위 디렉토리에서 mvn clean install 명령어를 실행합니다:

mvn clean install

이 명령어를 실행하면 부모 pom.xml에 지정된대로 각 하위 모듈이 차례로 빌드되고, 최종적으로 멀티 모듈 프로젝트가 빌드됩니다.

이상으로, Maven을 사용하여 자바 멀티 모듈을 개발하는 방법에 대해 알아보았습니다. Maven을 통해 멀티 모듈 프로젝트를 구성하고 관리함으로써, 프로젝트의 빌드와 의존성 관리를 효율적으로 수행할 수 있습니다. 참고로, Maven에 대한 자세한 정보는 공식 문서를 참조하시기 바랍니다.