토이 프로젝트는 VSCode를 사용해서 진행해 보고 싶었다. 인텔리 J를 돈 주고 사용하고 싶진 않았고, (회사에서 사주면 쓰겠지만) 이클립스는 느리다. 그동안 근 10년 가까이 이클립스를 사용해오면서 크게 불만은 없었는데 (중간 2년은 인텔리 J 써봄) IDE에 관심이 없다가 최근 VSCode의 칭찬을 많이 듣게 되면서 관심을 가지게 되었고, 토이 프로젝트에서 써보기로 했다.
먼저 Spring boot Multi Module 환경을 Maven으로 구성해보고 기록을 하지 않으면 다음번엔 높은 확률로 까먹을게 뻔하니 이제 정리하고 기록을 하겠다.
사전 개발환경 Java, Maven, vscode, vscode의 플러그인(Java Extension Pack, Spring Boot Extension Pack)등이 설치되어야 한다.
Spring Initializr 프로젝트 생성
Spring boot 프로젝트 생성하기 전에 Parent 폴더를 생성한다. tp-kyoung 부모 프로젝트로 사용할 tp-kyoung 폴더 안에 Spring boot Project를 두 개 생성한다.
단축키 ctrl + shift + p 또는 F1 으로 Command Palette 창을 열고 Spring Initializr를 입력 하면 Spring Initializr: Create Maven Project... 자동완성 기능으로 나오는 메이븐 프로젝트 생성을 선택해서 tp-api, tp-core 두개의 module 프로젝트를 생성하고 tp-kyoung 부모 폴더에 pom.xml 생성한다
pom.xml 설정
tp-api나 tp-core프로젝트의 pom.xml내용을 Parent pom.xml파일에 통째로 복사한 다음 아래 첫번째 탭 내용과 같이 수정한다.
tp-api, tp-core프로젝트의 pom.xml 파일들도 아래 두번째 탭 내용과 같이 수정한다.
<groupId>io.kyoung.toy</groupId> <!-- artifactId 수정 --> <artifactId>tp-kyoung</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- name 수정 --> <name>tp-kyoung</name> <description>Demo project for Spring Boot</description> <!-- packaging 추가 --> <packaging>pom</packaging>
<!-- parent 수정 --> <parent> <groupId>io.kyoung.toy</groupId> <artifactId>tp-kyoung</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
<!-- groupId 삭제 --> <artifactId>tp-api</artifactId> <!-- version 수정 --> <version>${parent.version}</version> <name>tp-api</name> <description>Demo project for Spring Boot</description>