์ฉ์ด๋ง ์ต์ํ ๊ฒ๋ค์ด๋ผ ๋ค์ ์ ๋ฆฌํ๋ฉด์ ๋ด๊ฐ ๋จ์๊ฒ๋ ์ค๋ช
ํ ์ ์์ ์ ๋๋ก ์ตํ๋ณด์.
MAVEN ํ๋ก์ ํธ ์ ์ฒด์ ์ธ ๋ผ์ดํ ์ฌ์ดํด์ ๊ด๋ฆฌํ๋ ๋๊ตฌ, ์๋ฐ์ฉ ํ๋ก์ ํธ๋ฅผ ๋น๋๋ฅผ ์๋ํ ํด์ฃผ๋ build tool์ด๋ค.
Conversion over Configuration CoC ๊ฐ๋ ์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ ๋ ์์คํ์ผ์ ์ด๋ค ์์น์ ์์ด์ผํ๊ณ ์ปดํ์ผ๋ ํ์ผ๋ค์ ์ด๋ค ์์น์ ์์ด์ผํ๋์ง ๋ฏธ๋ฆฌ ์ ํด ๋๋ ๊ฒ์ด๋ค.
๋ฉ์ด๋ธ..์ด๋ผ๊ณ ํ๋ฉด ํ๊ฒฝ ์ค์ ์ ํ ๋, ๋ณต์กํ๊ณ ๊น๋ค๋กญ๊ฒ ... ๋๊ปด์ง๋๋ฐ, ๊ฒฐ๋ก ์ ์ผ๋ก๋ ๋ฐฐํฌ๋ฅผ ํธํ๊ฒ ํด์ฃผ๊ธฐ ์ํ ๋๊ตฌ์ด๋ค!
์๋์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๋ฒ๊ฑฐ๋ก์๊ณผ ๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ๋ ๋ณต์กํด์ง๋ ๊ณผ์ ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํธ๋ฆฌํ๊ฒ ๊ณต์ ํ๊ณ ๋ค์ด๋ฐ๊ณ ์ ๋์จ ๊ฒ์ด ๋ฉ์ด๋ธ์ด๋ค.
ํ์ ์์ฑ>๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ >์ฝ๋์์ >์ปดํ์ผ>ํ ์คํธ>ํจํค์ง ์์ฑ>๋ฐฐํฌ>๋ ํฌํ (๋ฌธ์์์ ) = ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ์์ ๊ณผ์ ์ด๋ค.๋ฉ์ด๋ธ์ ์ด๋ฌํ ๊ณผ์ ์ ๊ฒฝ๋ํ ์์ผ์ค ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ด๋ค.
๊ทผ๋ฐ ์ดํด๋ฆฝ์ค๊ฐ์ IDE์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋๋ฐ, ์ด๊ฒ๋ ๋น๋ํด์ธ๊ฐ? nope...!
IDE๋ ๊ฐ๋ฐ์ ์ํด์ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฐ๋ฐ ๋๊ตฌ์ด๋ค.
๋น๋ ๋๊ตฌ(Maven/Gradle/Ant), ๋ฒ์ ํ์ฑ๊ด๋ฆฌ ๋๊ตฌ(git/cvs), ํ ์คํธ ๋๊ตฌ(JUnit) ๋ฑ์ ํต!ํฉ!ํ๊ฒฝ์ด IDE์ด๋ค.
๋ฉ์ด๋ธ์ผ๋ก jarํ์ผ์ ๋ณ๋๋ก ๊ณต์ ํ๊ณ ์ถ๊ฐํ ์ผ์์ด pom.xml์ ํ์ํ ๊ฒ์ ๋ช ์ํด๋์ผ๋ฉด ์ง์ ๋ค์ด๋ก๋๋ฅผ ํ์ง ์์๋ ๋คํธ์ํฌ๋ฅผ ํตํด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฝ๊ฒ ๋ค์ด๋ฐ์ ์ ์๋ค.
Maven์ ์ฅ์
1. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ ์ฉ์ด
2. ํ๋ก์ ํธ ํ ์คํธ๋ฅผ ์ง์ํด ์ค๋ค.
3. warํ์ผ ๊ธฐ๋ฐ์ ๋ฐฐํฌ์ฉ์ผ๋ก ์์ฃผ ์ฌ์ฉ๋๋ค.
๋ฉ์ด๋ธ์ ํ๋ ์์ํฌ๋ก ๋์ ๋ฐฉ์์ด ์ ํด์ ธ์๋๋ฐ ์ผ๋ จ์ ๋จ๊ณ์ ์ฐ๊ณ๋ goal์ ์คํํ๋ ๊ณผ์ ์ build๋ผ๊ณ ํ๋ฉฐ,
๋ฏธ๋ฆฌ ์ ์๋์ด์๋ build๋ค์ ์์๋ฅผ ๋ผ์ดํ์ฌ์ดํด์ด๋ผ ํ๋ค.
๋ฏธ๋ฆฌ ์ ์๋ ๋น๋ ์์ -> ๋ผ์ดํ์ฌ์ดํด
๋น๋ ๋จ๊ณ -> phase
๋ชจ๋ ๋น๋๋จ๊ณ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ -> Dependency
*๋น๋๋ ํ๋ก์ ํธ๋ฅผ ์ํด ์์ฑํ ์์ค์ฝ๋๋ ์ฌ๋ฌ ์์๋ค(.xml, .jar, .properties)๋ฅผ JVM์ด๋ ํฐ์บฃ๊ฐ์ WAS๊ฐ ์ธ์ํ ์ ์๋ ๊ตฌ์กฐ๋ก ํจํค์งํ๋ ๊ณผ์ ๋ฐ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค.
๋จ์ํ ์ปดํ์ผ ์์ ์ด ์๋ ํ ์คํ ,๊ฒ์ฌ,๋ฐฐํฌ๊น์ง ์ผ๋ จ์ ์์ ๋ค์ ํต๋ค์ด ๋น๋๋ผ๊ณ ํ๋ค.
Maven์ด ์ฐธ์กฐํ๋ ์ค์ ํ์ผ
pom.xml
- ์ต์์ ๋๋ ํฐ๋ฆฌ ์์น์ ์๋ค. POM( Project Object Model)์ ์ค์ ํ๋ ๋ถ๋ถ์ผ๋ก ํ๋ก์ ํธ ๋ด ๋น๋ ์ต์ ์ ์ค์ ํ๋ ๋ถ๋ถ์ด๋ค.
- ์ํ์น ์ฌ๋จ์์ ์ด์,๊ด๋ฆฌํ๋ ์ค์ ์ ์ฅ์(๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์ ํ์ผ ์๋ฒ)๋ฅผ ํตํด ์๋ ์์กด์ฑ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ ๊ธฐ์ ๋ง์ ์ค์ ์ ์ฅ์๋ฅผ ๊ตฌ์ถํ ์๋ ์๋ค.
settings.xml : maven tool ์์ฒด์ ๊ด๋ จ๋ ์ค์ ์ ๋ด๋นํ์ฌ conf ํด๋ ์๋ ์์นํ๋ค. maven ์์ฒด ์ค์ ์ ๋ฐ๊พธ๋ ์ผ์ ๋๋ฌผ์ด pom.xml์ ์กฐ์ํ๋ค.
'Programming๐ฉ๐ปโ๐ป' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Ajax (Asynchronous JavaScript and XML) (0) | 2020.10.27 |
---|