메뉴 건너뛰기

XEDITION

프로그램

Java Gradle 프로젝트 설정

묵묵이 2024.02.08 09:42 조회 수 : 0

 

 

1. eclipse 플러그인 설치

- Buildship Gradle Integration 2.0 설치. 코끼리 마크

- Gradle IDE Pack 설치

 

2. 프로젝트에서 마우스 우클릭 메뉴

- configure > Add Gradle Nature 선택

- configure > Convert to Gradle(STS) project 선택

- Gradle (STS) > Enable Dependency Management 선택

[출처] Gradle 프로젝트 설정|작성자 moonv11

 

 

 

레거시 버젼

buildscript {
    ext {
        springBootVersion = '2.5.4.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'

...

dependencies {
	compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')

 

ext는 build.gradle 내에서 쓸 전역 변수를 선언하는 키워드이다.
springBootVersion 변수를 생성하고 그 값을 '2.1.7.RELEASE'로 한다.

그 아래 dependencies에서 spring-boot-gradle-plugin을 전역 변수로 선언한 springBootVersion의 값으로 설정하여 의존성으로 받는다.

repositories의 mavenCentral()과 jcenter()는 오픈 소스 라이브러리를 저장하는 저장소로 이 프로젝트에서 해당 저장소를 사용해 라이브러리를 불러오겠다는 뜻이다.
jcenter 저장소는 intellij에 작성하면 경고가 뜨는데 좀 있으면 서비스를 종료한다고 한다.

buildscript 밖의 dependencies에서 프로젝트 개발에 필요한 의존성들을 선언해준다. compile 메서드 안에 라이브러리 명을 넣어 선언해준다. 버젼을 명시할 수 있지만 명시하지 않아야 buildscript에서 작성한 sprig-boot-gradle-plugin의 버젼을 따라간다.

현재 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 보고 있는데 2019년도에 쓰인 책이라 이렇게 옛날 방식으로 쓰여있다. 스프링 부트 버젼도 구형이다.

현재 버젼

plugins {
    id 'org.springframework.boot' version '2.4.1'
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'
}

...

dependencies {
	implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

위처럼 buildscript와 apply plugins 사용하는 대신에 이렇게 plugins를 사용하였다.
gradle의 버젼이 상승하여 buildscript 방식도 여전히 지원하지만 이제는 plugins로 buildscript와 apply plugin 방식을 대체한다고 한다.
기존의 것도 사용할 수 있다.

의존성 설정에서도 compile 메소드가 아닌 implementation 메소드를 사용한다.
검색해보니 implementation이 compile 보다 빠르고 빌드 시 api가 노출되지 않아 보안성도 좋다고 한다. 그래서 compile의 사용이 권장되지
않는다고 한다.

 

번호 제목 글쓴이 날짜 조회 수
212 안드로이드 생체 인식 인증 샘플 file 묵묵이 2024.12.19 0
211 Webbrowser 버전은 아래와 같이 변경 묵묵이 2024.04.28 1
210 HttpURLConnection 이용한 통신 / 파일 다운로드 묵묵이 2024.03.14 0
209 [Spring Boot] Gradle 로 빌드 하는 법 묵묵이 2024.02.08 0
» Gradle 프로젝트 설정 묵묵이 2024.02.08 0
207 document.baseURI 를 지원하지 않는 이슈 묵묵이 2024.01.23 0
206 ios WkWebview 개발자 모드에서 로그를 볼수 없는 현상 묵묵이 2023.12.21 0
205 Cordova(코르도바) 설치, 프로젝트 생성 묵묵이 2023.12.14 0
204 웹뷰(WebView) 사용법 묵묵이 2023.12.13 0
203 안드로이드 기본값으로 휴대폰 기울기에 따라 자동회전 막기 묵묵이 2023.12.13 0
202 화면모드로 전환시 WebView가 리로드되는 현상 묵묵이 2023.12.13 0
201 xeni 엑셀 다운로드 관련 file 묵묵이 2023.12.08 2
200 CKeditor4 를 이용한 게시판 글쓰기 구현 및 사진 업로드 [1] 묵묵이 2023.11.23 1
199 Jenkins REST API 호출로 Job 생성/실행/결과조회 하기 묵묵이 2023.09.22 1
198 키보드 변경시 앱 재시동 현상 묵묵이 2023.09.09 0
197 Tomcat(톰캣)에서 HTTP/2 (HTTP 2.0) 사용하기 묵묵이 2023.08.08 7
196 Eclipse Git Merge Conflict 해결 방법 [1] 묵묵이 2023.07.27 1
195 유튜브 무료 영화 묵묵이 2023.07.24 0
194 Git 줄 끝을 처리하도록 Git 구성 2 [2] 묵묵이 2023.07.20 2
193 빌라가배 Villagabae - 풀빌라 거제 묵묵이 2023.07.18 0
위로