๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๋ฉ”์ด๋ธ(Maven)์ด ๋ญ˜๊นŒ?

Daehyeon Yunยท2023๋…„ 8์›” 1์ผ
0

Spring boot

๋ชฉ๋ก ๋ณด๊ธฐ
6/8
post-thumbnail

Maven(๋ฉ”์ด๋ธ)์ด๋ž€?

์•„ํŒŒ์น˜ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์—์„œ ๊ฐœ๋ฐœํ•˜๋Š” Java ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋นŒ๋“œ ๋„๊ตฌ์ด๋ฉฐ ์ปดํŒŒ์ผ๊ณผ ๋นŒ๋“œ๋ฅผ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์„œ๋ฒ„ Deploy ์ž์›์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋Šฅ์„ ๋‚ดํฌํ•˜๊ณ  ์žˆ๊ธฐ์— settings.xml / pom.xmlํŒŒ์ผ์— ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ๋Œ€์ž…ํ•˜๋ฉด ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜, ๊ฒฝ๋กœ๊นŒ์ง€ ์ง€์ •ํ•œ๋‹ค.

ํŠน์ง•

โœ๏ธ 1. ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ pom.xml์— ์ •์˜ํ•˜๋ฉด ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ž‘๋™ํ•˜๋Š”๋ฐ์— ํ•„์š”ํ•œ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊นŒ์ง€ ๋‹ค์šด๋ฐ›๋Š”๋‹ค.
โœ๏ธ 2. ์ค‘์•™ ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•œ ์ž๋™ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ์ค‘์•™ ์ €์žฅ์†Œ(์•„ํŒŒ์น˜ ์žฌ๋‹จ)๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” File Server๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฉ”์ด๋ธ์€ ์ž๊ธฐ๋งŒ์˜ ์ค‘์•™ ์ €์žฅ์†Œ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.
โœ๏ธ 3. ๊ฐ„๋‹จํ•œ ์„ค์ •์„ ํ†ตํ•œ ๋ฐฐํฌ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์„ค์ •ํŒŒ์ผ

  • settings.xml
    • ๋ฉ”์ด๋ธ ๋นŒ๋“œ ํˆด๊ณผ ๊ด€๋ จํ•œ ์„ค์ • ํŒŒ์ผ
    • MAVEN_HOME/conf ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜
    • ์ปค์Šคํ…€ ์„ค์ •
  • POM(Project Object Model)
    • pom.xml์„ ๋งํ•˜๋ฉฐ ๋ฉ”์ด๋ธ์„ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ root์— ์กด์žฌํ•˜๋Š” xml ํŒŒ์ผ(ํ”„๋กœ์ ํŠธ ์ตœ์ƒ์œ„ ํด๋”์— ํ•ด๋‹น ํŒŒ์ผ ์ƒ์„ฑ)
    • ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด POM์ด ์‚ฌ์šฉ๋จ.
    • ํ•ด๋‹น ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค 1๊ฐœ์ด๋ฉฐ ํ•ด๋‹น ํŒŒ์ผ์— ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์„ค์ •, ์˜์กด์„ฑ ๋“ฑ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์žฅ์ 

  1. ์ปดํŒŒ์ผ๊ณผ ๋นŒ๋“œ๋ฅผ ๋™์‹œ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ
  2. ์„œ๋ฒ„์˜ Deploy ์ž์›์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณต
  3. pom.xml ํŒŒ์ผ์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ, ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋กœ์ ํŠธ ๋“ฑ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•จ
  4. IDE์— ์ข…์†๋œ ๋ถ€๋ถ„๋“ค์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Œ
  5. Maven Profile ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฐฐํฌ ์„ค์ •์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

๋‹จ์ 

  1. Maven์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋นŒ๋“œ ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋งŽ์ด ๋ณต์žกํ•จ
  2. ํŠน์ • ํ”Œ๋กœ๊ทธ์ธ ์„ค์ •์ด ์กฐ๊ธˆ๋งŒ ๋‹ฌ๋ผ๋„ ํ•ด๋‹น ์„ค์ •์„ ๋ถ„๋ฆฌ์‹œ์ผœ๋ฒ„๋ ค ์ค‘๋ณต ๊ธฐ์ˆ ํ•  ๋•Œ๊ฐ€ ๋ฐœ์ƒํ•จ. ์ด๋Š” ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์„ค์ •์ด ๊ธธ์–ด์ง€๊ณ  ์ค‘๋ณต, ๊ฐ€๋…์„ฑ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋–จ์–ด๋œจ๋ฆผ.
  3. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์„œ๋กœ ์˜์กดํ•˜๋Š” ๊ฒฝ์šฐ ๋ณต์žกํ•ด์ง„๋‹ค.
  4. ์ƒ๋Œ€์ ์œผ๋กœ ํ•™์Šต ์žฅ๋ฒฝ์ด ๋†’๋‹ค.
    ์œ„์™€ ๊ฐ™์€ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ ˆ์ด๋“ค(Gradle)์ด๋ผ๋Š” ๋นŒ๋“œ ํˆด์ด ๋“ฑ์žฅํ•˜์˜€๋‹ค.

์ฐธ๊ณ 

goddaehee

profile
์—ด์‹ฌํžˆ ์‚ด์•„์•ผ์ง€

0๊ฐœ์˜ ๋Œ“๊ธ€