Mavenκ³Ό Gradleμ μλ°μ λνμ μΈ λΉλ κ΄λ¦¬ λꡬ(Tool)μ΄λ€.
λΉλ κ΄λ¦¬ λꡬλ, νλ‘μ νΈμμ νμν xml, properties, jar νμΌλ€μ μλμΌλ‘ μΈμνμ¬ λΉλν΄μ£Όλ λꡬλ₯Ό λ§νλ€.
λν λΉλνκΈ° μ μμ€ μ½λλ₯Ό μ»΄νμΌ νκ³ , ν
μ€νΈ λ° μ μ λΆμ λ±μ ν΅ν΄ μ€ν κ°λ₯ν ApplicationμΌλ‘ λΉλν΄μ€λ€.
κ·Έλ¦¬κ³ νλ‘μ νΈμ μ 보 κ΄λ¦¬, ν
μ€νΈ λΉλ, λ°°ν¬ λ±μ μμ
μ μ§ννλ©°, μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°Έμ‘°νμ¬ μλμΌλ‘ λ€μ΄λ‘λ νκ³ μ
λ°μ΄νΈ λν κ΄λ¦¬ν΄μ€λ€.
λ©μ΄λΈμ μ΄μ , μλ°μ λνμ μΈ κ΄λ¦¬ λꡬμλ Antλ₯Ό λ체νκΈ° μν΄ κ°λ°λμλ€. κΈ°μ‘΄μ μ¬μ©νλ μ΄ Antλ λΉλ κΈ°λ₯λ§ κ°μ§κ³ μμλ€.
λ©μ΄λΈμ νλ‘μ νΈμ μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ½κ² μ°Έμ‘°ν μ μκ² pom.xml νμΌλ‘ κ΄λ¦¬νλ©°, μ°Έμ‘°ν μΈλΆ λΌμ΄λΈλ¬λ¦¬μ μ°κ΄λ λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬λ μλμΌλ‘ κ΄λ¦¬λλ€.
β Mavenμ μ¬μ©νλ κ°μ₯ ν° μ΄μ λ λΌμ΄λΈλ¬λ¦¬λ₯Ό μλμΌλ‘ κ΄λ¦¬ν΄μ£ΌκΈ° λλ¬Έμ΄λ€.
Antμ Mavenμ νΉμ§
Ant | Maven |
---|---|
XML κΈ°λ°μ λΉλ μ€ν¬λ¦½νΈ | XML κΈ°λ°μ λΉλ μ€ν¬λ¦½νΈ |
μμ λ‘μ΄ λΉλ λ¨μ μ§μ | λΌμ΄ν μ¬μ΄ν΄ λμ |
κ°λ¨νκ³ μ¬μ©νκΈ° μ¬μ | pom.xmlλ‘ νΈνκ² Dependency κ΄λ¦¬ |
λκ·λͺ¨ νλ‘μ νΈμμ 볡μ‘ν΄μ§λ κ²½ν₯μ΄ μμ | |
λΌμ΄ν μ¬μ΄ν΄μ΄ μμ |
Mavenμ λν νκ·Έ
<dependency>
νκ·Έλ₯Ό μ¬μ©νμ¬ κ΅¬λΆνλ€.κ·Έλλ€μ Groovy μ€ν¬λ¦½νΈλ₯Ό νμ©ν λΉλ κ΄λ¦¬ λꡬμ΄λ€.
μλλ‘μ΄λ νλ‘μ νΈμ νμ€ λΉλ μμ€ν
μ΄λ©°, λ©ν° νλ‘μ νΈ λΉλμ μ΅μ ννμ¬ μ€κ³λμλ€.
κ·Έλλ€μ λ©μ΄λΈμ λΉν΄ λ λΉ λ₯Έ μ²λ¦¬ μλλ₯Ό κ°μ§κ³ μμΌλ©°, λ κ°κ²°ν ꡬμ±μ΄ κ°λ₯νλ€.
Gradleκ³Ό Maven λΉκ΅
Gradleμ λΉλ μλκ° λΉ λ₯Έ μ΄μ
μ μ§μ λΉλ(Incremental Builds)
Gradleμ λΉλ μ€ν μ€ λ§μ§λ§ λΉλ νΈμΆ μ΄νμ taskμ μ
λ ₯, μΆλ ₯ νΉμ ꡬνμ΄ λ³κ²½λλμ§ νμΈνλ€. κ·Έλ¦¬κ³ μ΅μ μνλ‘ κ°μ£Όνμ§ μλλ€λ©΄ λΉλκ° λ°λ‘ μ€νλμ§ μλλ€.
λΉλ μΊμ(Build Cache)
λ κ° μ΄μμ λΉλκ° λμκ°κ³ , νλμ λΉλμμ μ¬μ©λλ νμΌλ€μ΄ λ€λ₯Έ λΉλμ μ¬μ©λλ€λ©΄, Gradleμ λΉλ μΊμλ₯Ό μ΄μ©ν΄ μ΄μ λΉλμ κ²°κ³Όλ¬Όμ λ€λ₯Έ λΉλμμ μ¬μ©ν μ μλ€.
μ¦, λ€μ λΉλνμ§ μμλ λλ―λ‘ λΉλ μκ°μ΄ μ€μ΄λ€κ² λλ€.
λ°λͺ¬ νλ‘μΈμ€
λ°λͺ¬ νλ‘μΈμ€λ, μλΉμ€μ μμ²μ μλ΅νκΈ° μν΄ μ€λ«λμ μ΄μ μλ νλ‘μΈμ€λ₯Ό λ§νλ€.
Gradleμ λ°λͺ¬ νλ‘μΈμ€λ λ©λͺ¨λ¦¬ μμ λΉλ κ²°κ³Όλ¬Όμ 보κ΄νλ€. μ΄λ‘ μΈν΄ ν λ² λΉλλ νλ‘μ νΈλ λ€μ λΉλμμ λ§€μ° μ μ μκ°λ§ μμλλ€.
μ°Έκ³ μλ£
μ΄λΌμ΄λνλΈ μ€νλμ€ - AroundHub Studio, βμλ°μ λνμ μΈ λΉλ κ΄λ¦¬ ν΄! λ©μ΄λΈ(Maven)κ³Ό κ·Έλ μ΄λ€(Gradle)β, https://youtu.be/3Jp9kGDb01g
μ°μνTech, β[10λΆ ν μ½ν‘] 루λμ Gradleβ, https://youtu.be/ntOH2bWLWQs