SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
With Gradle & Maven
Enterprise Build
Gradle 설치
Gradle 사이트에 방문해서
download 메뉴를 클릭하고 zip파일
을
다운받으세요.
Zip파일의 압축을 풀어줍니다
1
환경변수 등록
GRADLE_HOME
C:gradlegradle-1.6
2
확인
Gradle 버전이 출력된다면
기본적인 설치는 끝났습니다.
3
Gradle Project 생성
 Build.gradle 파일을 정의해서
사용할 수 있음
Maven에서 phase를 입력했던 것
처럼 task를 입력해서 실행함project.description = 'first gradle'
task first <<{
println 'running first project' + project.description
}
4
Gradle 실행
 Gradle build 파일이 있는 폴더로 이동
 Build.gradle에 정의한 task를 파라메터로 입력
5
다중task 설정 및 기본 task설정
project.description = 'first gradle'
defaultTasks 'second'
task first{
println 'running first project' + project.description
}
task second{
doFirst{
println "second task called"
}
}
defaultTasks 에 정의된
Task가 gradle 명령 사용시에
기본적으로 사용됨
여러 개를 등록할 수도 있음
defaultTasks ‘second’, ‘first’
6
순차적으로 실행하고 싶어요
project.description = 'first gradle'
defaultTasks 'second'
task first{
println 'running first
project'+project.description
}
task second(dependsOn:first){
doFirst{
println "second task called"
}
}
7
Maven Gradle 프로퍼티 비교
maven gradle 기본값
groupId group 공백
artifactId name | archivesBaseName 프로젝트 디렉토리명
version version unspecified
name n/A N/A
description description null
8
Gradle eclipse plugin 설치
9
Gradle eclipse plugin 설치확인
10
Eclipse로 gradle project import
 지금껏 build.gradle 파일
을 이용해서 콘솔로 빌드했
던 프로젝트를 import 해
봅시다.
11
Eclipse로 gradle project import2
 에러메시지가 있다는 건
언제나 좋은 겁니다.
‘내가 왜 화났는지 맞춰봐’보다
100만배 편함.;
Build Model 버튼을 클릭하세요.
12
Eclipse로 gradle project import2
 Eclipse 프로젝트 형태로
변환해줍니다.
13
Eclipse로 gradle project import3
 Import 할 프로젝트를 체크
하세요.
14
Eclipse로 gradle project import4
 변환완료
15
적용한 eclipse 버전
16
빌드결과물 타입
 packaging war == apply plugin ‘war’
 Packaging jar == apply plugin ‘java’
17
Dependency Management
<repositories>
<repository>
<id>central</id>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<repositories>
18
repositories {
mavenCentral()
}
Add library
dependencies{
compile ‘joda-
time:joda-time:2.1’
}
19
<dependencies>
<dependency>
<groupId>org.springframe
work</groupId>
<artifactId>spring-
webmvc</artifactId>
<version>${org.springfram
ework-version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
Gradle Project 만들기
 Sample Project 유형
으로 Java
QuickStart를 선택합
니다.
20
21
Eclipse 에서 Gradle build
 compileJava task선택
22
Gradle 로 java Compile
23
Gradle Muliti Project
24
프로젝트 간 의존관계설정
25
Settings.gradle
A B
Include “my-lib” “product”
mylibMulti-gradle
멀티 컴파일
26
라이브러리 참조 설정 Central은
http://repo.mycompany.com/maven2
Maven중앙저장소
Local은
Maven에 정의된 로컬저장소
27
repositories {
mavenCentral()
mavenLocal()
}
Gradle에서 기본적
으로 라이브러리가
저장되는 폴더
라이브러리 업데이트
28
Refresh all 또는
Refresh
dependencies
이클립스 쓰기 싫은데요..
29
Migration
 좋아 a,bc … z
 정말 좋아 ㄱ.ㄴ.ㄷ
좋으면 니가 적용해.
…………………..
관두면 오빠가 나 먹여살릴거야?
………………
30
Migration m2 -> gradle
31
As is maven
Migration m2 -> gradle
32
Gradle 이 버전업을 하면서 기존에 maven2gradle이
https://github.com/jbaruch/maven2gradle
완벽하게 동작하지 않을 뿐만 아니라 gradle team에서 자체적으로
Maven2gradle에 상응하는 bootstrap plugin을 만들었습니다.
Bootstrap plugin 전제조건
 1. 기존 프로젝트가 maven3 버전으로 빌드되어야 합니다.
Mvn 커멘드가 제대로 동작하는지 확인하세요.
33
Bootstrap plugin 사용
34
Gradle 버전확인 (1.2) 에서만 사용
35
Gradle 1.6
로드실패 Gradle 1.2
Bootstrap plugin 로드
Bootstrap plugin 실행
 gradle maven2Gradle 실행
36
변환 확인
37
Settings.gradle
Build.gradle
웹프로젝트 만들기#1
 플러그인 추가
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'eclipse-wtp'
38
웹 디펜던시 추가
Version 관계
http://tomcat.apache.org/whichversion.html
39
dependencies{
providedCompile('org.apache.geronimo.specs:geronimo-
servlet_3.0_spec:1.0')
runtime 'org.apache.geronimo.specs:geronimo-
jsp_2.2_spec:1.2'
}
Geronimo
javaEE spec을
구현하는 사이트
jettyRun으로 실행
40
Webapp
가 기본디렉토리
To Other Time
To Other place
To Other Us
41

Contenu connexe

Tendances

스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기Ashal aka JOKER
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java ProjectJi-Woong Choi
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기Sangkyoon Nam
 
[세미나] 20160520 Gradle
[세미나] 20160520 Gradle[세미나] 20160520 Gradle
[세미나] 20160520 GradleSanghoon Yoon
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App DevelopmentChi Hwan Choi
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodedpTablo
 
안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradlehaesunglee5
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Woojin Joe
 
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드NAVER Engineering
 
양파지기 - Ant, Maven, Gradle
양파지기 - Ant, Maven, Gradle양파지기 - Ant, Maven, Gradle
양파지기 - Ant, Maven, Gradleyong geun Kwon
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.장현 한
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발지수 윤
 
Enterprise Java web Deployment Strategy
Enterprise Java web Deployment StrategyEnterprise Java web Deployment Strategy
Enterprise Java web Deployment StrategySukjin Yun
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuardChi Hwan Choi
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기Junseo Youn
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교Junyoung Lee
 

Tendances (20)

스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기
 
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java Project
 
그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기그루비로 안드로이드 앱 개발하기
그루비로 안드로이드 앱 개발하기
 
[세미나] 20160520 Gradle
[세미나] 20160520 Gradle[세미나] 20160520 Gradle
[세미나] 20160520 Gradle
 
Modern Android App Development
Modern Android App DevelopmentModern Android App Development
Modern Android App Development
 
Gradle 소개
Gradle 소개Gradle 소개
Gradle 소개
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle안드로이드 빌드 with Gradle
안드로이드 빌드 with Gradle
 
Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]Angular Seminar [한빛미디어 리얼타임 세미나]
Angular Seminar [한빛미디어 리얼타임 세미나]
 
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
[TECHCON 2019: MOBILE - Android]4.쪼개지고 나누어지는 안드로이드
 
양파지기 - Ant, Maven, Gradle
양파지기 - Ant, Maven, Gradle양파지기 - Ant, Maven, Gradle
양파지기 - Ant, Maven, Gradle
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.
 
Android QA Process
Android QA ProcessAndroid QA Process
Android QA Process
 
Maven
MavenMaven
Maven
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
Enterprise Java web Deployment Strategy
Enterprise Java web Deployment StrategyEnterprise Java web Deployment Strategy
Enterprise Java web Deployment Strategy
 
[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard[자바카페] 미니 세미나 ProGuard
[자바카페] 미니 세미나 ProGuard
 
Maven의 이해
Maven의 이해Maven의 이해
Maven의 이해
 
Gradle 한번 살펴보기
Gradle 한번 살펴보기Gradle 한번 살펴보기
Gradle 한번 살펴보기
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 

Similaire à 20130709 gradle

Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기YoungjikYoon
 
Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)Jaesup Kwak
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleKyunghun Jeon
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중Sukjin Yun
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
Java Build Tool
Java Build ToolJava Build Tool
Java Build Tool용근 권
 
02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재Hankyo
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Seulgi Choi
 
Mago3 d 워크샵
Mago3 d 워크샵Mago3 d 워크샵
Mago3 d 워크샵정대 천
 
mago3D 기술 워크샵 자료(한국어)
mago3D  기술 워크샵 자료(한국어)mago3D  기술 워크샵 자료(한국어)
mago3D 기술 워크샵 자료(한국어)SANGHEE SHIN
 
2019스마트국토엑스포-20190808-mago3D기술워크샵
2019스마트국토엑스포-20190808-mago3D기술워크샵2019스마트국토엑스포-20190808-mago3D기술워크샵
2019스마트국토엑스포-20190808-mago3D기술워크샵Gaia3D,Inc.
 
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재Hankyo
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법GeunCheolYeom
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차Seong Bong Ji
 

Similaire à 20130709 gradle (20)

Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
Gradle Kotlin 컨벤션 플러그인으로 효율적으로 멀티 모듈 관리하기
 
Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)Spring boot-summary(part2-part3)
Spring boot-summary(part2-part3)
 
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build LifecycleBackend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
Backend Master | 3.1.4 Build - Java build tool - Maven/Gradle Build Lifecycle
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
Java Build Tool
Java Build ToolJava Build Tool
Java Build Tool
 
okspring3x
okspring3xokspring3x
okspring3x
 
02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예
 
Mago3 d 워크샵
Mago3 d 워크샵Mago3 d 워크샵
Mago3 d 워크샵
 
mago3D 기술 워크샵 자료(한국어)
mago3D  기술 워크샵 자료(한국어)mago3D  기술 워크샵 자료(한국어)
mago3D 기술 워크샵 자료(한국어)
 
2019스마트국토엑스포-20190808-mago3D기술워크샵
2019스마트국토엑스포-20190808-mago3D기술워크샵2019스마트국토엑스포-20190808-mago3D기술워크샵
2019스마트국토엑스포-20190808-mago3D기술워크샵
 
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Spring boot DI
Spring boot DISpring boot DI
Spring boot DI
 
3.Spring IoC&DI(spring ioc실습, XML기반)
3.Spring IoC&DI(spring ioc실습, XML기반)3.Spring IoC&DI(spring ioc실습, XML기반)
3.Spring IoC&DI(spring ioc실습, XML기반)
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법
 
Hacosa js study 4주차
Hacosa js study 4주차Hacosa js study 4주차
Hacosa js study 4주차
 

Plus de Sukjin Yun

동영상입문
동영상입문동영상입문
동영상입문Sukjin Yun
 
Geb quick start
Geb quick startGeb quick start
Geb quick startSukjin Yun
 
BDD with Spock
BDD with SpockBDD with Spock
BDD with SpockSukjin Yun
 
Scala quick start
Scala quick startScala quick start
Scala quick startSukjin Yun
 
Spring java config
Spring java configSpring java config
Spring java configSukjin Yun
 
Design pattern 옵저버
Design pattern 옵저버Design pattern 옵저버
Design pattern 옵저버Sukjin Yun
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_startSukjin Yun
 
Rabbitmq install한글
Rabbitmq install한글Rabbitmq install한글
Rabbitmq install한글Sukjin Yun
 
Weblogic install
Weblogic installWeblogic install
Weblogic installSukjin Yun
 
무료로 워드프레스시작하기
무료로 워드프레스시작하기무료로 워드프레스시작하기
무료로 워드프레스시작하기Sukjin Yun
 
Ldap serise v1
Ldap serise v1Ldap serise v1
Ldap serise v1Sukjin Yun
 
Android studio
Android studioAndroid studio
Android studioSukjin Yun
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design patternSukjin Yun
 

Plus de Sukjin Yun (20)

동영상입문
동영상입문동영상입문
동영상입문
 
Geb quick start
Geb quick startGeb quick start
Geb quick start
 
BDD with Spock
BDD with SpockBDD with Spock
BDD with Spock
 
Scala quick start
Scala quick startScala quick start
Scala quick start
 
Spring java config
Spring java configSpring java config
Spring java config
 
Design pattern 옵저버
Design pattern 옵저버Design pattern 옵저버
Design pattern 옵저버
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_start
 
Rabbitmq install한글
Rabbitmq install한글Rabbitmq install한글
Rabbitmq install한글
 
Servlet3
Servlet3Servlet3
Servlet3
 
Weblogic install
Weblogic installWeblogic install
Weblogic install
 
무료로 워드프레스시작하기
무료로 워드프레스시작하기무료로 워드프레스시작하기
무료로 워드프레스시작하기
 
Start groovy
Start groovyStart groovy
Start groovy
 
Pygame
PygamePygame
Pygame
 
Annotation
AnnotationAnnotation
Annotation
 
마리아Db
마리아Db마리아Db
마리아Db
 
Intellij java
Intellij javaIntellij java
Intellij java
 
Ldap serise v1
Ldap serise v1Ldap serise v1
Ldap serise v1
 
Android studio
Android studioAndroid studio
Android studio
 
Servlet design pattern
Servlet design patternServlet design pattern
Servlet design pattern
 
Launch4j
Launch4jLaunch4j
Launch4j
 

20130709 gradle