Spring Boot의 시작 / Group, Artifact, Name
IDE : IntelliJ
프로젝트를 생성하기 위해서는 프로젝트의 이름, 그룹, 아티팩트등 기본적인 내용을 적어줘야한다.
지금까지는 테스트용이나 기존에 정해진 프로젝트를 사용하다보니 이들에 대한 정의를 명확히 알지 못했었다.
늦었지만 누군가 물어본다면 얘기할 수 있게 기본 개념을 정리해본다.
Apache Maven Project - groupId, artifactId 및 버전에 대한 명명 규칙 가이드
Maven – 명명 규칙 가이드 (apache.org)
Maven – Guide to Naming Conventions
maven.apache.org
프로젝트 생성시 보이는 첫 화면이다.
패키지 이름은 그룹 + 아티팩트로 생성된다
그렇다면 그룹과 아티팩트는 무엇일까?
1. Group
groupId는 모든 프로젝트에서 프로젝트를 고유하게 식별합니다. 그룹 ID는 Java의 패키지 이름 규칙을따라야 합니다. 즉, 사용자가 제어하는 역방향 도메인 이름으로 시작합니다.
ex) org.apache.maven, org.apache.commons
이 블로그 도메인을 기준으로 한다면 com.tistory.routines가 그룹 이름이 되는것이다.
2. Artifact
artifactId는 버전이 없는 jar의 이름입니다. 영어 소문자로 원하는 이름을 선택할 수 있다. (특수문자는 안된다고 함.)
If it's a third party jar, you have to take the name of the jar as it's distributed
- 써드파티 jar파일을 사용할 경우 부여된 이름을 그대로 사용한다
※ third party : 해당 분야에 그 분야를 처음 개척했거나 원천기술을 확보하고 있는 등의 주요기업이 아니라, 해당 분야에 호환되는 상품을 출시하거나 타 기업의 주 기술을 이용한 파생상품 등을 생산하는 회사들을 가리키는
[네이버 지식백과] 서드파티 (시사상식사전, pmg 지식엔진연구소)
-> 즉 외부의 jar파일을 사용한다면 부여된 이름을 그대로 사용한다는 뜻!
위에 내용을 바탕으로 작성해본 프로젝트
그룹 : 블로그 도메인을 바탕으로 사용
아티팩트 : 프로젝트 생성물(jar or war) 파일의 이름
패키지 이름 : 그룹 + 아티팩트
이제 새로운 프로젝트를 생성할때 고민하는 일은 없을것 같다!