-
망분리 환경에서 Spring boot gradle 설정CS기초/웹 2022. 4. 3. 01:54728x90반응형
회사에서 Spring boot 프로젝트를 Spring initializr를 이용해서 초기 세팅을 하고 빌드를 했더니,
스프링 부트 의존성 라이브러리들을 땡겨지 못해서 gradle 빌드 에러가 났다.
플러그인 id 가 org.springframework.boot인 것을 maven central 레포지토리에서 끌고 와야 하는데, 망분리 환경이라 방화벽에 막힌 듯 했다.
이럴 경우 몇 가지의 해결 방법이 있다.
1. 핫스팟을 켜고 dependency 라이브러리들을 받아와 local repository에 넣어놓고 빌드때 이용한다. ( .m2 나 .gradle 같은 cache repository에 넣어놓고 사용 )
2. 방화벽 설정을 변경하여 maven central 레포지토리에 접근 가능하도록 한다.
3. 자체 maven repository 를 사내망에 구축하고, 여기서 라이브러리들을 땡겨서 쓴다. ( nexus 를 많이 사용한다고 함 )
4. 제 3자가 만들어놓은 maven repository 사용한다.
우선, 나는 2와 3에 대해서 권한이 없었다. 시도해볼 수 있는 것은 1, 4 였는데, 1은 가능하지만 뭔가 앞으로도 프로젝트 라이브러리 버전이 변경되거나 새로운 의존성을 추가할때마다 내 핫스팟을 켜서 외부망에서 다운받아야 하나?라는 생각이 들어 폭풍 구글링을 한 결과, 4가 가능함을 알게되었다.
바로, 중국에서 만든 것 같은 maven repository인 https://maven.aliyun.com/repository/
을 활용하는 것이다.
build.gradle 에서 repository 를 mavenCentral() 이 아닌 다음으로 변경해보자.
buildscript{ repository { mavenLocal() maven { url 'https://maven.aliyun.com/repository/google/' } maven { url 'https://maven.aliyun.com/repository/public/' } maven { url 'https://maven.aliyun.com/repository/spring/' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' } maven { url 'https://maven.aliyun.com/repository/spring-plugin/' } maven { url "https://plugins.gradle.org/m2/" } mavenCentral() } }
순서는 buildscript - plugins - apply plugin 순을 지켜야 한다.
그러면 spring, gradle 관련 plugin 들을 잘 끌고오는 것을 확인할 수 있었다.
728x90'CS기초 > 웹' 카테고리의 다른 글
React 와 Spring boot 서버 (0) 2022.03.31 [부스트 코스] JSP - BE (0) 2020.06.07 [부스트코스] Web UI 개발 - FE (0) 2020.03.20 [부스트 코스] CSS 기초 문법 (우선순위, 선택자, 레이아웃 구성) (0) 2020.02.13 [부스트 코스] HTML - FE (0) 2020.02.06