Maven

December 8, 2022์— ์ž‘์„ฑ
  • Java์˜ ๋นŒ๋“œ ๋ฐ ์˜์กด์„ฑ ๊ด€๋ฆฌ ํˆด์ด๋ฉฐ pom.xml ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ์˜์กด์„ฑ์€ pom.xml ์— ๊ธฐ์ˆ ํ•ด๋‘” GAV(GroupId, ArtifactId, Version)์ •๋ณด๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

npm๊ณผ ๋น„๊ต?

์›๋ž˜ ์•Œ๊ณ  ์žˆ๋˜ npm์ด๋ž‘ ๋น„๊ตํ•ด์„œ ๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•ด๋ณด๋ฉด

  • pom.xml์€ npm ์˜ package.json ๊ณผ ์œ ์‚ฌํ•œ ์šฉ๋„์ด๋‹ค
  • maven์€ npm ์ฒ˜๋Ÿผ public repo๊ฐ€ ์žˆ๋‹ค.
  • local repository(cache)๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ์กด์žฌํ•ด์„œ
    • ๊ฐ™์€ ์˜์กด์„ฑ์„ ๊ฐ€์ง€๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์œ ์ € ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ .m2 ํด๋”์— ์˜์กด์„ฑ๋“ค์ด ์ €์žฅ๋œ๋‹ค. npm์€ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค node_modules์„ ๊ฐ€์ง€๋Š” ๊ฒƒ๊ณผ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.
  • maven์œผ๋กœ ๋นŒ๋“œํ•˜๋Š” ๊ณผ์ •์€ one-step ์œผ๋กœ ์ง„ํ–‰๋˜๋Š”๋ฐ, ์ด๋Š” npm์—์„œ install ํ›„ build๋ฅผ ํ•ฉ์นœ ํ˜•ํƒœ์ด๋‹ค.
  • package.json ์—์„œ script๋กœ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ํ˜•์‹์ฒ˜๋Ÿผ maven์—์„œ๋„ building, testing, deploying๊ฐ™์€ ๋นŒ๋“œ ๊ณผ์ •๋“ค์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • npm์—์„œ dev, production์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ์‹์€ pom.xml์—์„œ profile ์†์„ฑ์„ ์ •์˜ํ•˜๋ฉด ๋œ๋‹ค.

์ฐธ๊ณ