
gradle๊ณผ maven์ ์๋ฐ ์ํ๊ณ์์ ๋๋ฆฌ ์ฌ์ฉํ๋ ๋น๋ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค.
์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ํํ๋ก ์ฌ์ฉํ ์ ์๋ ๋ชจ์ต์ ๊ฐ์ถ๋ ค๋ฉด '๋น๋'๋ผ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค. ์ด๋ฌํ ๋น๋ ๊ณผ์ ์์ ํ์ํ ๊ฒ๋ค์ ๊ด๋ฆฌํ๊ณ ์๋ํํ๋ ๋๊ตฌ๋ฅผ '๋น๋ ๊ด๋ฆฌ ๋๊ตฌ'๋ผ๊ณ ํ๋ค.
<๋น๋ ๊ณผ์ >

Maven์ ์๋ฐ ๊ธฐ๋ฐ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ์คํ์์ค ๋๊ตฌ์ด๋ค.
โ๏ธ pom.xml์ ์ด์ฉํ์ฌ ์ ํํ๋ ๋น๋ ์์คํ
์ผ๋ก ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ ๋คํธ์ํฌ๋ฅผ ํตํด ์๋์ผ๋ก ๋ค์ด์ ๋ฐ์์ค๋ค.
โ๏ธ ๊ธฐ์กด์ Apach Ant๋ผ๋ ๋น๋ ๋๊ตฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ์ง๋ง Maven์ด Ant๋ฅผ ๋์ด์ ๊ฐ๋ฐ์๋ค์ด ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ค.
โ๏ธ Lifecycle ๊ด๋ฆฌ ๋๊ตฌ๋ก, ์ ํด์ง Lifecycle์ ์ํ์ฌ ์์
์ ์ํํ๋ค.

1. validate: ํ๋ก์ ํธ ๊ตฌ์กฐ ๊ฒ์ฆ ๋ฐ ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ ์ฌ๋ถ ํ์ธ
2. compile: ์์ค ์ฝ๋(.java)๋ฅผ ๋ฐ์ดํธ ์ฝ๋(.class)๋ก ์ปดํ์ผ
3. test: ๋จ์ ํ
์คํธ ์ํํ์ฌ ์ฝ๋ ๊ธฐ๋ฅ ๊ฒ์ฆ
4. package: ์ปดํ์ผ๋ ์ฝ๋๋ฅผ ๋ฐฐํฌ ๊ฐ๋ฅํ ํ์(JAR, WAR)์ผ๋ก ํจํค์ง
5. intergration test: ํตํฉ ํ
์คํธ ์ํ
6. verify: ํ๋ก์ ํธ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ํ์ง ํ์ค ์ถฉ์กฑ ์ฌ๋ถ ํ์ธ
7. install: ํจํค์ง๋ ์ฝ๋๋ฅผ ๋ก์ปฌ Maven ์ ์ฅ์์ ์ค์น
8. deploy: ๋ค๋ฅธ ๊ฐ๋ฐ์์ ๊ณต์ ํ ์ ์๋๋ก ์๊ฒฉ ์ ์ฅ์์ ๋ณต์ฌ

Gradle์ Ant์ Maven์ ์ฅ์ ๋ค์ ๋ชจ์ ๊ฐ๋ฐํด 2012๋ ์ ์ถ์๋ Groovy๋ฅผ ์ด์ฉํ ๋น๋ ์๋ํ ์์คํ ์ด๋ค.
โ๏ธ JVM์์ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๋น๋ ๋๊ตฌ์ด๋ค.
โ๏ธ ๊ธฐ๋ณธ ์ ๊ณต ๊ธฐ๋ฅ, ํ์ฌ ํ๋ฌ๊ทธ์ธ ๋๋ ์ฌ์ฉ์ ์ ์ ๋น๋ ๋ก์ง์ ์ฌ์ฉํ์ฌ ๊ด๋ฒ์ํ ์ํํธ์จ์ด ๋น๋ ์๋๋ฆฌ์ค๋ฅผ ์๋ํํ ์ ์๋ค.
โ๏ธ Android, Java, Kotlin Multiplatform, Groovy, Scala, Javascript, C/C++๋ฅผ ์ง์ํ๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๐Gradle์ด ๋ ์ข๋ค.
๋ฉ์ด๋ธ์ ๋นํด ๊ฐ๋ ์ฑ์ด ์ข๊ณ ์ค์ ์ด ๊ฐ๋จํ๋ฉฐ, ๋ค์ํ ์ธ์ด๋ฅผ ์ง์ํ๋ค. ๋ํ ์ํ๋ ๋๋ก ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๊ณ ์๋๊ฐ ๋ฉ์ด๋ธ์ ๋นํด ๋ ๋น ๋ฅด๋ค.
Gradle์ด Maven๋ณด๋ค ๋น ๋ฅธ ์ด์ โ