Maven 자바 프로젝트를 생성하기 위해 아래와 같이 명령어를 입력한다. groupId는 패키지가 되며 arifactId가 프로젝트명이 되고 archetypeAritifactId는 타 프로젝트 구조를 가져올 때 사용한다. (기본적으로 maven-archetype-quickstart를 사용)
우리가 이클립스로 프로젝트를 만들 때 기본 템플릿을 갖고 프로젝트 폴더, 파일이 생성한다. 이때 생성되는 프로젝트는 누가 만들어도 동일한 프로젝트가 생성된다. 즉, 비어있는 프로젝트 생성은 누구나 동일하게 가능.
하지만 Maven 프로젝트는 위와는 다르게 자주 사용하는 라이브러리 설정, 디렉토리에 필수 파일 생성...과 같은 작업을 해두고 해당 부분부터 프로젝트가 진행되는 것을 상정해두고 만드는 프로젝트이다.
즉, 프로젝트의 기본 형태를 만들어두고 공유해서 사용.
- archetypeArtifactId => 프로젝트의 구조(architecture)의 형식(type)을 정의하여 자신의 인공물(artifact) 로써 만들어 두어 공유하겠다.
- artifactId => archetypeArtifactId 에서 설정한 명칭을 기반으로 javaprj 라는 프로젝트를 생성
- groupId => 여러 프로젝트가 동일한 명칭으로 생성될 가능성이 있기 때문에 충돌을 예방하기 위해 groupId를 설정. 일반적으로 gruopId를 package 명과 비슷하게 도메인명을 사용.
프로젝트를 생성할 폴더에서 위의 명령어를 입력하면 위 그림과 같이 작업이 진행됨.
명령어 실행 시 특별한 옵션이 없으면 Interactive mode로 실행.
Interactive mode란 아래와 같이 사용자가 설정한 gruopId, artifactId 가 맞는지 물어보고 version 을 지정하는 상호작용 과정이다.
여기서 SNAPSHOT 은 현재 프로젝트가 개발 진행 중이라는 것을 알려주기 위해 붙이는 명칭.
그렇지 않고 완료된 버전이면 1.0 과 같이 입력하면 된다.
모든 빌드가 정상적으로 완료되면 아래와 같이 뜬다.
프로젝트가 정상적으로 생성됐다면 C:\dev\maven\ 내가 프로젝트를 생성하려는 폴더에 javaprj라는 폴더가 생성되고
src\main\java\com\zerobase 폴더에 App.java 이 생성되는 것을 볼 수 있다.