프리 정보 컨텐츠

mavenCentral() vs jcenter() 개념 및 차이점 본문

JAVA/Spring

mavenCentral() vs jcenter() 개념 및 차이점

쏜스 2021. 7. 2. 12:09

아래와 같이 springboot gradle 프로젝트를 작업 중에 build.gradle 설정을 해주었습니다.

문득 mavenCentral() 과 jcenter() 두 개의 차이점은 무엇이고 왜 설정해주는 것인가에 대한 근본적인 이유에 대해서 궁금증이 생겨서 정리를 해봐야겠다는 생각이 들었습니다.

buildscript {
    ext {
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies { 
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'com.son.book'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('org.projectlombok:lombok')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('com.h2database:h2')
    compile('org.springframework.boot:spring-boot-starter-mustache')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

mavenCentral() vs jcenter()

repositories는 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지를 정해줍니다.

mavenCentral()과 jcenter()는 Android Studio의 Gradle 플러그인 용 저장소입니다.

 

mavenCentral은 이전부터 많이 사용하는 저장소지만, 본인이 만든 라이브러리를 업로드하기 위해서는 많은 과정과 설치가 필요한 문제점이 있었는데 이를 보완하기위한 라이브러리가 jcenter입니다.

jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드될 수 있도록 자동화를 할 수 있습니다.

그러다보니 jcenter는 최대의 java저장소이고 jcenter를 많이 사용하는 추세입니다.

Comments