์ด์ ๊ธ์์ ์ดํด๋ณธ ์๋ฐ ํ๋ฌ๊ทธ์ธ์ ์ด์ด, ์ด๋ฒ ๊ธ์์๋ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ฌ๊ทธ์ธ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ง java-library ํ๋ฌ๊ทธ์ธ java-library ํ๋ฌ๊ทธ์ธ์ java ํ๋ฌ๊ทธ์ธ์ ํ์ฅํ์ฌ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฆ ์๋ฐ ํ๋ฌ๊ทธ์ธ์ ํ์ฅํ๊ธฐ ๋๋ฌธ์, Java ํ๋ฌ๊ทธ์ธ์ ์ํด ์ ๊ณต๋๋ ๋ชจ๋ source set, task, configuration๋ฑ ์ญ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ฌ๊ทธ์ธ์ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ๋๋ฐ, Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ๋ชจ๋ ํน์ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ ์๋ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ฌ๊ทธ์ธ์ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค. plugins { id 'java-library' } ๐ง api configu..
๐ง java ํ๋ฌ๊ทธ์ธ ์๋ฐ ํ๋ฌ๊ทธ์ธ์ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋น๋ํ๋๋ฐ ํ์ํ ์ปดํ์ผ, ํ
์คํธ ๋ฐ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ํ๋ก์ ํธ์ ์ถ๊ฐํฉ๋๋ค. ์ด๋ ๋ง์ ๋ค๋ฅธ JVM ์ธ์ด ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฐ์ด ๋๋ ํ๋ฌ๊ทธ์ธ์
๋๋ค. ํด๋น ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ build.gradle์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค. plugins { id 'java' } ๐ง java ํ๋ฌ๊ทธ์ธ์์ ์ ๊ณตํ๋ Task ๋ช๊ฐ๋ง ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋์ฑ ์์ธํ ํ์ธํ๊ณ ์ถ๋ค๋ฉด ๋ค์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์. ๐ฑ compileJava Depends on: ์ปดํ์ผ classpath์ ์ํฅ์ ์ฃผ๋ ๋ชจ๋ ์์
ํด๋น ์์
์ ํ๋ก๋์
์๋ฐ ์ฝ๋๋ฅผ JDK ์ปดํ์ผ๋ฌ๋ฅผ ์ด์ฉํ์ฌ ์ปดํ์ผํ๋ ์์
์
๋๋ค. ํด๋น ์์
์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์์ง๋๋ค. ๐ฑ processResourc..
๐ง ์๋ก ์ด์ ๊ธ์์ ์์กด์ฑ ๊ด๋ฆฌ์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ์์๋ณด์์ต๋๋ค. ์ด๋ฒ์๋ ์์กด์ฑ์ ๋ํด์ ์กฐ๊ธ ์์ธํ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์์กด์ฑ์ ์ฌ์ฉํ๊ธฐ ์ ์ dependency configuration์ด๋ผ๋ ๊ฐ๋
์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๐ง Dependency Configuration Gradle ๊ธฐ๋ฐ์ ํ๋ก์ ํธ์์ ์ ์ธ๋๋ ๋ชจ๋ ์์กด์ฑ๋ค์ ํด๋น ์์กด์ฑ์ด ์ฌ์ฉ๋์ด์ง๋ ํน์ ํ scope๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ค ์์กด์ฑ์ ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ๋๋ฐ ์ฌ์ฉ๋์ด์ง๊ณ , ์ด๋ค ์์กด์ฑ์ ๋ฐํ์์๋ง ์ฌ์ฉ๋์ด์ง๋๋ค. ํ
์คํธ ํ๊ฒฝ์์๋ง ์ฌ์ฉ๋์ด์ผ ํ๋ ์์กด์ฑ๋ค๋ ์กด์ฌํฉ๋๋ค. Gradle์์๋ ์์กด์ฑ์ด ์ฌ์ฉ๋๋ scope๋ฅผ configuration์ ํตํด ๋ช
์ํฉ๋๋ค. ๋ชจ๋ configuration์ ๊ณ ์ ํ ์ด๋ฆ์ผ๋ก ์๋ณํ ์ ์..
๐ง ์๋ก ๋๋ถ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์
, ํน์ ์ํํธ์จ์ด ํ๋ก์ ํธ๋ค์ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋์ง ์์ต๋๋ค. ์ด๋ค ํ๋ก์ ํธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณ , ์ด๋ค ํ๋ก์ ํธ๋ ๊ด๋ จ์๋ ๊ธฐ๋ฅ์ ๋ชจ๋ ์์คํ
์ ๋ถ๋ฆฌ๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑํ ๋ค ํ ๋ชจ๋์์ ๋ค๋ฅธ ๋ชจ๋์ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค. ๊ฒฐ๊ตญ ๋๋ถ๋ถ์ ํ๋ก์ ํธ๋ ์ฌ๋ฌ ๋ค๋ฅธ ํ๋ก์ ํธ(๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ชจ๋ ๋ฑ๋ฑ)์ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ์ฌ ์คํ๋ฉ๋๋ค. ์ฆ ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ํ ์์กด์ฑ(dependency)์ด ๋ฐ์ํฉ๋๋ค. ์์กด์ฑ ๊ด๋ฆฌ(Dependency management)๋ ํ๋ก์ ํธ์์ ํ์๋กํ๋ ์์กด์ฑ๋ค์ ์ ์ธํ๊ณ , ์ด๋ค์ ๊ฐ์ ธ์ค๊ณ (resolving), ์ฌ์ฉํ๊ธฐ ์ํ ์๋ํ๋ ๊ธฐ์ ์
๋๋ค. ๐ง Gradle ์์์ Dependency Management ๋ค์์ ์์กด์ฑ ๊ด๋ฆฌ์ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ..
๐ง ์๋ก Gradle ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๊ณ ์คํํ๊ธฐ ์ํด์๋, ๋ก์ปฌ ์ปดํจํฐ์ ํด๋น ํ๋ก์ ํธ์ ๋์ผํ ๋ฒ์ ์ด ๋์ผํด์ผ ํฉ๋๋ค. ๋ง์ฝ ์ด๋ค์ด ์ผ์นํ์ง ์๋๋ค๋ฉด, ๋น์ฐํ๊ฒ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์, ํญ์ ์ฌ์ฉํ๋ ค๋ ํ๋ก๊ทธ๋จ์ Gradle ๋ฒ์ ๊ณผ ๋์ผํ๊ฒ Gradle์ ์ค์นํด์ฃผ์ด์ผ ํ๋๋ฐ ์ด๋ ๊ต์ฅํ ๊ท์ฐฎ๊ณ ๋นํจ์จ์ ์ธ ๋ฐฉ๋ฒ์
๋๋ค. Gradle Wrapper(์ดํ Wrapper)๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ค๋๋ค. ๐ง Gradle Wrapper ์ง์ ๋ ๋ฒ์ ์ Gradle์ ์คํํ๋ ์คํฌ๋ฆฝํธ๋ก, ํ์ํ ๊ฒฝ์ฐ Gradle ๋ฐฐํฌํ(distribution)์ ๋ฐฐํฌ ์๋ฒ์์ ๋ค์ด๋ก๋ํฉ๋๋ค. Wrapper๋ฅผ ์ฌ์ฉํ๋ฉด Gradle์ ์ค์นํ์ง ์๊ณ ๋ ์ง์ ๋ Gradle ๋ฒ์ ์ผ๋ก ๋น๋๋ฅผ ์งํํ ์ ์์ต๋๋ค. Wrapper๋ฅผ ์ฌ์ฉํ๊ธฐ..
๐ง Project ๋ชจ๋ Gradle์ build๋ ํ๋ ์ด์์ project๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. project๊ฐ ๋ํ๋ด๋ ๊ฒ์ Gradle์ ์ฌ์ฉํ์ฌ ์ํํ๋ ์์
์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์๋ฅผ ๋ค์ด project๋ library JAR ํน์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ๋ด๊ฑฐ๋, ๋ค๋ฅธ projects๋ก๋ถํฐ ์์ฑ๋ JAR๋ค์ ํฉ์ณ์ ๋ฐฐํฌ๋ ZIP์ ๋ํ๋ผ ์ ์์ต๋๋ค. ๋ํ staging ํน์ production ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ๋ฑ์ ์ํํด์ผ ํ ์์
์ ๋ํ๋ผ ์ ์์ต๋๋ค. ๐ง Task project์์ ์ํํ ์ ์๋ ์์
์ ํ๋ ์ด์์ task์ ์ํด ์ ์๋ฉ๋๋ค. Tasks๋ ๋น๋์ ์ํํ๋ ์์์ (atomic)์ธ ์์
์ ๋ํ๋
๋๋ค. ์๋ฅผ ๋ค์ด ์์
์ ์ผ๋ถ ํด๋์ค๋ค์ ์ปดํ์ผํ๊ฑฐ๋, JAR์ ์์ฑํ๊ฑฐ๋, Javadoc์ ..
'๐ Gradle' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ |
Q
Q
|
์ ๊ธ ์ฐ๊ธฐ |
W
W
|
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ) |
E
E
|
๋๊ธ ์์ญ์ผ๋ก ์ด๋ |
C
C
|
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ |
S
S
|
๋งจ ์๋ก ์ด๋ |
T
T
|
ํฐ์คํ ๋ฆฌ ํ ์ด๋ |
H
H
|
๋จ์ถํค ์๋ด |
Shift + /
โง + /
|
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.