본문 바로가기

Gradle5

[gradle] gradle 5부터 lombok의 설정을 신경써야 한다 오류 상황 //build.gradle dependencies { //Util implementation "org.projectlombok:lombok" } //오류 메세지 error: variable courseRepository not initialized in the default constructor - build.gradle에 implementation으로 lombok 의존성을 추가하고, Intellij 프로젝트에서도 enable annotation processing 옵션을 활성화한 상태 - 그런데 @RequiredArgsConstructor를 선언한 Service에서 default constructor를 사용하게 됨 - 결국 생성자에 필요한 인자인 courseRepository를 주입받지 못하.. 2020. 6. 14.
[왜] gradle은 다운로드한 의존성 파일(jar)을 해당 프로젝트에 보관하지 않을까? 문제상황 jquery webJar를 의존성으로 추가하고, 해당 라이브러리의 폴더 구조가 어떻게 되있는지 알고 싶었다. 그런데 로컬에서 프로젝트 디렉토리를 탐색하면, 라이브러리(jar파일) 폴더는 보이지 않았다. gradle을 통해 의존성을 추가하고 빌드하면, 해당 프로젝트에서 라이브러리를 사용할 수 있음에도 불구하고! 대체 왜 그럴까? 이유 바로 로컬 캐시 때문이다. 다른 프로젝트에서 동일한 의존성을 추가하고 빌드 시, 해당 라이브러리를 저장소에서 또 다운로드 받는 건 비효율적이다. 따라서 특정 경로에 의존성들을 다운로드 받아놓고, 버전이 같은 경우 다시 다운로드하지 않는다. 해쉬값으로 디렉토리 이름이 저장된다. 해당 라이브러리의 오염을 체크하는 것?! (정확하진 않음) 의존성 다운로드 경로는 /.gra.. 2020. 4. 25.
[spring] 스프링부트 프로젝트 초기 세팅 시 빌드 툴의 이해 (maven, gradle) Maven의 경우 결론 : 의존성들도 부모-자식의 계층 구조로 이루어진다 spring-boot-starter-web의 parent = spring-boot-starter-parent spring-boot-starter-parent의 parent = spring-boot-dependencies (최상위 의존성) 최상위 의존성의 에 스프링 부트에 포함되는 기본 의존성들이 정의 최상위 의존성의 에 기본 의존성들의 버전 정보 정의 부모-자식 구조의 특징 상속 없이 의존성을 추가하고 싶다면 dependencyMangement에 spring-boot-starter-parent 추가 그러나 dependencyManagement는 오직 의존성 관리만 받을 수 있다 하지만 상속을 받는다면 / / 등과 같은 propert.. 2020. 3. 25.
[spring] 스프링부트 프로젝트 초기 생성 및 구조 (gradle) 생성하기 build.gradle 작성 ./gradlew clean ./gradlew build @SpringBootApplication이 선언된 Application Class 작성 Run build.gradle 이해 buildscript block 빌드 자체를 위한 ext / repositories / dependencies 추가 ext : 전역변수 설정 repositories : buildscript 내의 의존성을 어떤 원격 저장소에서 다운로드 받을지 설정 dependencies : 빌드를 위한 의존성을 추가. spring-boot-gradle-plugin을 스프링부트 버전에 맞춰 설정 plugins 프로젝트에 포함될 플러그인 설정 dependencies에 비해 좀 더 폭넓게 쓰이고 core한 외부패.. 2020. 3. 23.
[java] Gradle(그레이들)이란? 0. npm과 같은 패키지 관리! 1. 오픈소스 빌드 자동화 툴 2. Groovy(DSL의 일종)를 이용하여 작성 3. 안드로이드 스튜디오의 공식 빌드 툴 - Gradle 빌드 스크립트 자체를 위한 의존성이나 변수, Task, Plugin 등을 지정 - SpringBoot 기반 프로젝트 진행 시, 이 곳에 spring-boot-gradle-plugin을 classpath로 추가한다. 1. Determines which plugins, task classes, and other classes are available for use in the rest of the build script. 2. The global level dependencies and repositories sections list de.. 2020. 1. 5.