본문 바로가기
Spring/Spring Boot

빌드 도구 메이븐+Gradle

by chogigang 2023. 2. 19.

메이븐 이란 자바 프로젝트의 빌드를 자동화 해주는 빌드 툴입니다.

 

 

개발 과정 중에 많은 라이브러리들이 필요한대 pom.xml파일에 필요한 라이브 러리를 적어주면 메이븐이 알아서 네트워크를통해서

 

다운로드 하고 경로까지 지정해 줍니다. 메이븐 같은 빌드 툴이 없다면 필요한 jar파일들을 일일이 받아서 직접 프로젝트에 넣어줬어야했을 것입니다.

 

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
   </dependency>

   <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <scope>runtime</scope>
   </dependency>

 

요즘은 대부분 Gradle 을 사용 합니다

 

Gradle 특징

 

1.Maven과 같은 구조로 build 프레임워크 를 사용하고

 

2.멀티 프로젝트 빌드를 지원합니다

 

3.의존성 관리의 다양한 방법 제공합니다.

 

4.Buold script를 xml이 아닌 Groovy 기반의 DSL(Domain Specific Language) 를 사용합니다

 

5.기존 빌드 구성하기 위한 풍부한 도메인 모델을 제공합니다.

 

6.프로젝트 설정 주입방식으로 정의하기 때문에 메이븐 상속보다 재사용에 용이 합니다.

 

7.그리들은 자바6 이상부터 사용 가능합니다.

 

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   compileOnly 'org.projectlombok:lombok'
   runtimeOnly 'com.mysql:mysql-connector-j'
   implementation 'org.mybatis:mybatis:3.5.7'
   annotationProcessor 'org.projectlombok:lombok'

   testImplementation 'org.springframework.boot:spring-boot-starter-test'
}