Gradle: 11개의 글
Maven vs Gradle 스프링 기반의 프로젝트를 시작하면서 Maven을 처음 접했다. Ant를 사용한적도 없었고 의존성 관리와 빌드 스크립트에 대한 지식도 없었기에 이런게 있나보다 하고 사용했었다. Maven 책을 한권 보고나서야 프로젝트 구성, 빌드툴이 무었인지 이해할 수 있었고, 편리한 의존성 관리에 감사하며 부족함을 느끼지 못했다. 하지만 프로젝트의 단위가 커지면서 빌드와 테스트에 소요되는 시간이 길어졌고, 여러 모듈에서 설정을 상속받기 시작하면서 Gradle이라는 녀석이 계속 눈에 뛰었다. Gradle이 Maven의 단점을 보완해주고 사용해본 사람들이 좋다고들 하니 Maven이랑 비교해서 얼마나 좋은지 알아보려 한다. Maven Apache의 이름 아래 2004년 출시 Ant를 사용하던 개발..
들어가며 mac에서scala를 설치하는 방법에 대해서 설명을 한다. scala는 java를 기반으로 해서 미리 java를 설치를 해야한다. dependency를 위해 build tool로 gradle을 설치했다. 설치를 완료한 후에는 환경변수를 설정해주면 끝 Java 설치하기 $ brew install cask install java Scala 설치하기 $ brew install scala Grade 설치하기 https://gradle.org/ 에서 다운로드가 가능하다. $ unzip grade-3.1-all.zip 환경변수 세팅하기 ~/.bash_profile에 아래와 같이 입력하자 export JAVA_HOME= export GRADLE_HOME=
[IntelliJ] Gradle 프로젝트 resources 디렉토리 만들기 다음은 일반적인 gradle 프로젝트의 구조이다. resources 디렉토리는 main, test 하위에 위치하는데 intelliJ 버전에 따라 resources 디렉토리가 생성되지 않는 경우가 있다. 이 디렉토리를 직접 만드는 방법을 알아보자. main에서 resources 이름의 새 디렉토리를 만든다. resources 디렉토리가 만들어졌다. 나 같은 경우엔 자동으로 resources 디렉토리로 인식돼서 아이콘이 적용됐으나 그렇지 않을 경우, 생성한 resources 디렉토리에 마우스 우측 버튼을 클릭해서 컨텍스트 메뉴를 띄우고 Mark Directory as - Resoures Root를 클릭한다. Gradle resourc..
IntelliJ로 Gradle 프로젝트 생성하고 DB 연동하기 1. Gradle 프로젝트 만들기 가장 먼저 새 프로젝트를 생성한다. 좌측에서 Gradle을 선택하고 Project SDK에서 사용할 JDK 버전을 선택, 중앙 Additional Libraries and Frameworks에서는 Java만 선택하고 Next를 클릭한다. 프로젝트 이름, 위치, Group Id, Artifact Id를 입력하고 Finish를 클릭한다. IntelliJ Gradle 프로젝트 2. JDBC Driver 의존성 추가 Maven 저장소(https://mvnrepository.com)에서 자신이 사용하는 DBMS의 JDBC 드라이버 의존성 구문을 복사한다. Gradle 탭의 내용을 복사하면 된다. 나는 MySQL 8점대..
그래들 프로젝트를 사용중인데, 간혹 idea에서 "Could not initialize class org.codehaus.groovy.runtime.InvokerHelper"라는 에러 메시지가 뜨는 경우가 있다. 여러가지 요인이 있을 수 있지만, 필자가 저 에러를 보았던 순간은 jdk 1.8에서 jdk14 버전으로 올리면서 났던 에러 메시지 인데, 이유는 gradle version이 jdk14를 지원하지 못하는 낮은 버전이었기 때문이다. 그래서, 프로젝트 디렉토리중 "gradle/wrapper/gradle-wrapper.properties"에서 gradle 버전을 올려주어서 해결하였다.(5.x -> 6,3) 출처: https://coding-start.tistory.com/378?category=8209..
> $HOME/.gradle/caches/modules-2/files-2.1/ > rm -rf > ./gradlew --refresh-dependencies 출처: https://coding-start.tistory.com/363?category=820992 [코딩스타트]
이번 포스팅은 간단하게 Gradle Task를 작성하는 방법이다. 모든 경우의 Task 작성 방법을 다루지는 않지만 몇가지 예제를 다루어볼 것이다. task hello{ doLast{ println 'Hello' } } 위는 간단하게 'Hello'라는 문자열을 출력하는 태스크이다. 아래 명령으로 실행시킨다. gradle -q hello result-> Hello -q 옵션 같은 경우는 로그 출력없이 결과값만 출력하는 옵션이다. 만약 -q 옵션을 뺀다면 빌드에 걸린 시간등의 로그가 찍히게 된다. 디폴트 태스크 정의 gradle -q 라는 명령어로 실행하는 디폴트 태스크를 정의하는 방법이다. 보통 빌드전에 clean, install 등의 작업을 기계적으로 하는 경우가 많은데, 디폴트 태스크로 정의하여 사용하..
이번 포스팅은 그래들을 이용한 자바 프로젝트 구성에 대해 다루어볼 것이다. 그래들로 자바 프로젝트를 초기화 하는 방법은 이전 포스팅에 있으니 참고 바란다. Gradle - Gradle의 기본 자바 타입으로 그래들 프로젝트를 생성하면 아래와 같은 기본 디렉토리 구조를 가진다. src -main -java -test -java 그래들의 자바 플러그인의 Task 의존 관계는 아래 그림과 같다. build를 실행하게 되면 compileJava와 test Task가 실행된다. 그런데 이전 단계 Task가 실패하면 다음 단계는 진행되지 않는다. -컴파일시 인코딩 오류가 날 경우 >gradle compileJava 위와 같은 명령으로 컴파일 할때 인코딩 문제가 있다면 아래와 같이 옵션 값을 넣어준다.(build.gr..
이번 포스팅은 Gradle에 대한 기본을 다루어볼 것이다. 사실 Gradle이 뭔지 모르는 개발자는 거의 없을 것임으로, 자세한 설명은 하지 않을 것이다. Gradle은 빌드툴이다! (마치 Maven과 같은) Gradle 내부 프로젝트 인터페이스 Project >final DEFAULT_BUILD_FILE >DEFAULT_BUILD_DIR_NAME >GRADLE_PROPERTIES >SYSTEM_PROP_PREFIX >Task task(String name, Closure configureClosure) 프로젝트 인터페이스는 그래들로 프로젝트를 설정하고 구성할 때 사용하는 파일로, 그래들 프로젝트를 논리적으로 표현하는 인터페이스이다. default_build_file 파일은 프로젝트 설정에 대한 정보를 ..
1. 메이븐이란? 주로 java 진영에서 프로젝트 빌드, 관리에 사용되는 도구이다. 개발자들이 전체 개발과정을 한 눈에 알아볼 수 있다. 아파치 프로젝트이다. maven의 특징 빌드 절차 간소화 동일한 빌드 시스템 제공 프로젝트 정보 제공 구조 ant와의 차이점 Ant가 비교적 자유도가 높다. 전처리, 컴파일, 패키징, 테스팅, 배포 가능 Maven은 정해진 라이프사이클에 의하여 작업 수행하며, 전반적인 프로젝트 관리 기능까지 포함하고 있음. (Build Tool + Project Management) gradle과의 차이점 XML 대신 groovy 스크립트를 사용하여 동적인 빌드 가능. maven은 멀티프로젝트에서 상속구조인데, gradle은 주입 방식이다. 멀티프로젝트에서 gradle이 더 적합하다...