๐Ÿง‘โ€๐ŸณSpring Boot์—์„œ Maven: ๋‹น์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋’ค์˜ ์…ฐํ”„

๋ฐœํ–‰: (2026๋…„ 1์›” 1์ผ ์˜คํ›„ 10:03 GMT+9)
5 min read
์›๋ฌธ: Dev.to

Source: Dev.to

Maven์ด๋ž€?

Maven์€ ์ฃผ๋กœ Java ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋นŒ๋“œ ์ž๋™ํ™” ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Maven์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค:

  • ์˜์กด์„ฑ ๊ด€๋ฆฌ
  • ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์ •์˜
  • ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”
  • ๋ฐฐํฌ์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒจํ‚ค์ง•

๊ฐ„๋‹จํžˆ ๋งํ•ด, Maven์€ Spring Boot ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด ๊ฐœ๋ฐœ ๋ผ์ดํ”„์‚ฌ์ดํด์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์…ฐํ”„

Maven์„ ์ฃผ๋ฐฉ์˜ ์…ฐํ”„๋ผ๊ณ  ์ƒ๊ฐํ•ด ๋ณด์„ธ์š”. ๊ฐœ๋ฐœ์ž(๋‹น์‹ )๋Š” ๋‹ค์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๋ ˆ์‹œํ”ผ(pom.xml)
  • ์žฌ๋ฃŒ(์˜์กด์„ฑ)

Maven์€:

  • ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค
  • ๋ชจ๋“  ๊ฒƒ์„ ์ ์ ˆํžˆ ์„ž์Šต๋‹ˆ๋‹ค
  • ์ตœ์ข… ์š”๋ฆฌ(JAR / WAR ํŒŒ์ผ)๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค

์–ด๋–ป๊ฒŒ ์ค€๋น„๋˜๋Š”์ง€ ์‹ ๊ฒฝ ์“ธ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค โ€” Maven์ด ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋ฐ ์˜์กด์„ฑ ๊ด€๋ฆฌ

Maven์€ pom.xml์ด๋ผ๋Š” ์„ ์–ธํ˜• XML ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ Java ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ํ”„๋กœ์ ํŠธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
  • ์˜์กด์„ฑ
  • ํ”Œ๋Ÿฌ๊ทธ์ธ
  • ์ €์žฅ์†Œ
  • ๋นŒ๋“œ ์„ค์ •

Spring Core, Spring MVC, Spring Boot๊ณผ ๊ฐ™์€ Spring ๋ชจ๋“ˆ์€ ๋ชจ๋‘ Maven ์˜์กด์„ฑ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋ฉฐ, Maven์ด ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , ํ•ด๊ฒฐํ•˜๊ณ , ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Maven์˜ ๋นŒ๋“œ ์ž๋™ํ™”

Maven์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ผ์ดํ”„์‚ฌ์ดํด ๋‹จ๊ณ„๋“ค์„ ์‚ฌ์šฉํ•ด ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค:

  • clean
  • compile
  • test
  • package
  • install
  • deploy

์ด ์ž๋™ํ™” ๋•๋ถ„์—:

  • ์ฝ”๋“œ๋Š” ์ผ๊ด€๋˜๊ฒŒ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค
  • ํ…Œ์ŠคํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด JAR ๋˜๋Š” WAR ํŒŒ์ผ๊ณผ ๊ฐ™์€ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์•„ํ‹ฐํŒฉํŠธ๋กœ ํŒจํ‚ค์ง•๋ฉ๋‹ˆ๋‹ค

์ด๋กœ ์ธํ•ด ๋นŒ๋“œ๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ํ™˜๊ฒฝ์— ๊ด€๊ณ„์—†์ด ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Maven ๋ช…๋ น์–ด

# Removes all previously generated build files.
mvn clean
# Compiles the project source code.
mvn compile
# Runs the projectโ€™s test cases.
mvn test
# Packages the application into a JAR or WAR file.
mvn package
# Packages the application and stores it in the local Maven repository for reuse.
mvn install
# Uploads the packaged JAR / WAR to a remote repository for team usage.
mvn deploy

Spring Boot ์ „์šฉ ๋ช…๋ น์–ด

# Runs a Spring Boot application directly from source code without packaging.
mvn spring-boot:run
# Builds a Docker image for the Spring Boot application using the Spring Boot Maven plugin.
mvn spring-boot:build-image

Spring Boot์—์„œ Maven์˜ ์ค‘์š”์„ฑ

Maven ์—†์ด

  • ์˜์กด์„ฑ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค
  • ๋นŒ๋“œ๊ฐ€ ์ผ๊ด€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • ๋ฐฐํฌ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค

Maven ์‚ฌ์šฉ ์‹œ

  • ์˜์กด์„ฑ ๋ฒ„์ „์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋นŒ๋“œ๊ฐ€ ์ž๋™ํ™”๋ฉ๋‹ˆ๋‹ค
  • Spring Boot ๊ฐœ๋ฐœ์ด ์›ํ™œํ•˜๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค

Maven์€ Spring Boot ๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ ์ถ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. Maven์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ Spring Boot์— ์ต์ˆ™ํ•ด์ง€๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. Maven์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๋ฉด:

  • pom.xml์ด ์ดํ•ด๋˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค
  • ์˜์กด์„ฑ ๋ฌธ์ œ๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค
  • ๋นŒ๋“œ์™€ ๋ฐฐํฌ๊ฐ€ ์ˆ˜์›”ํ•ด์ง‘๋‹ˆ๋‹ค

์ด ๊ธ€์€ ์ œ๊ฐ€ Spring Boot์™€ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํƒ๊ตฌํ•˜๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š” ๊ณต๊ฐœ ํ•™์Šต ์—ฌ์ •์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

๋ถ„๋ฆฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์ž

์†Œ๊ฐœ 2025๋…„ ๋ง ๋ฉฐ์น  ๋™์•ˆ, ์šฐ๋ฆฌ ํŒ€ ๋ฆฌ๋”๋Š” ํ•˜๋ฃจ๋ฅผ ์ถ”๊ฐ€๋กœ ์‰ฌ๋ฉด์„œ ์ค‘์š”ํ•œ ํšŒ์˜๋ฅผ ๋†“์ณค์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ๊ตฌ์กฐ์กฐ์ • ์ดํ›„, ํ•œ ๋™๋ฃŒ๊ฐ€ ๋– ๋‚ฌ์Šต๋‹ˆ๋‹ค.