빌드 과정
1. main, test 디렉토리에 있는 모든 자바 소스코드를 자바 바이트 코드로 변환한다.
2. test 디렉토리에 만든 자바 바이트 코드는 바로 그 단계에서 실행을 하고 아무 문제가 없다면 프로젝트를 구성했던 모든 파일들을 합쳐서 하나의 파일로 제작을 하게 된다. (이 과정을 패키징이라고 부른다.)
** 상황에 따라 과정이 추가, 제거되기도 한다.
위 과정을 javac 명령어만 가지고 다 하기에는 너무 복잡하다.
=> 그래서 등장하게 된 것이 Maven과 Gradle이다.
● Maven : java를 위한 Build Automation Tool(C#, Ruby 등의 다른 언어를 위해서도 사용 가능)
※ pom.xml: 빌드를 자동화 하기 위해서 무슨 작업을 해야하는지 알아야하는데 그 정보를 저장한 파일을 말한다.
=> Maven 프로젝트를 만들게 된다면 pom.xml이라는 파일부터 시작해서 그 파일이 존재하는 디렉토리가 프로젝트를 관리하는 디렉토리가 된다.
pom.xml 화면
< xml > : 어떤 형식의 xml문서인지를 알려줌
< project > : 프로젝트에서 사용하고 있는 키 값들이 어디서 온건지 등이 정의 되어있음
< modelVersion > : pom의 구조를 담당하는 모델의 버전
< parent > : 이 프로젝트가 어떠한 프로젝트의 하위 프로젝트인지를 정의
< properties > : 선정의된 속성들
< dependencies > : 프로젝트에 사용할 외부 프레임워크 또는 라이브러리를 정의하는 부분
< build > : 어떤 식으로 빌드를 진행할 것인지 정의하는 부분
● Gradle : java를 위한 Build Automation Tool(C#, C++, Javascript 등의 다른 언어를 위해서도 사용 가능)
※ build.gradle
- groovy라는 언어로 프로젝트 정의
- Sub-project 등을 포함시키는 용도의 settings.gradle도 있다.
- Kotlin을 사용하여 정의할 수도 있다. (build.gradle.kts)
build.gradle화면
**요즘은 gradle을 더 많이 사용하는 추세이다.