메이븐 멀티 프로젝트 설정하기

dasd412·2022년 11월 10일
0

MSA 프로젝트

목록 보기
2/25

멀티 메이븐 프로젝트 구성하는 법

1. 전체 프로젝트의 pom.xml 생성

빨간 색 표시가 전체 프로젝트(Git repository라 할 수 있다.)이고, 파란색 부분이 하위 프로젝트(MSA라고 할 수 있다.)이다.

참고로, 하위 프로젝트는 처음에 인텔리제이 기준으로 폴더 옆에 파란색 상자가 없다.

2. 하위 프로젝트 mvn 확인

하위 프로젝트들도 전부 메이븐 프로젝트여야 한다.

3. 전체 프로젝트 pom.xml의 <module> 설정

다음은 스프링 마이크로서비스 코딩 공작소의 예시다.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.optimagrowth</groupId>
  <version>0.0.1-SNAPSHOT</version>
  <artifactId>ostock-parent-pom</artifactId>
  <packaging>pom</packaging>


  <name>optimagrowth-parent-pom</name>
  <description>Parent Pom for the optimagrowth project</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
	 <docker.image.prefix>ostock</docker.image.prefix>
	</properties>

  <modules>
    <module>configserver</module>
    <module>eurekaserver</module>
    <module>licensing-service</module>
    <module>organization-service</module>
    <module>gatewayserver</module>
  </modules>
  <build>
    <plugins>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
        <version>1.4.13</version>
        <configuration>
             <skip>true</skip>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

위 xml에서 중요한 부분은 <modules>로 감싸진 부분들이다.
이 부분에 하위 프로젝트 이름을 명시해야 한다.

  <modules>
    <module>configserver</module>
    <module>eurekaserver</module>
    <module>licensing-service</module>
    <module>organization-service</module>
    <module>gatewayserver</module>
  </modules>

구성 결과

3.을 마치고 나면, 인텔리제이 메이븐 리로드가 나올 것인데 이를 클릭하면 알아서 구성해준다. 결과는 다음과 같다.

참고 링크

https://jins-dev.tistory.com/entry/%EB%A9%94%EC%9D%B4%EB%B8%90Maven-%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-Multi-Module-Project-%EC%84%A4%EC%A0%95

profile
아키텍쳐 설계와 테스트 코드에 관심이 많음.

0개의 댓글