🌱SPRING

jar둜 νŒ¨ν‚€μ§•λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— src/main/webapp 디렉토리λ₯Ό μ“°μ§€ λ§λΌλŠ” 이유

jhj.sharon 2023. 8. 17. 17:23
λ°˜μ‘ν˜•
`src/main/webapp` λ””λ ‰ν† λ¦¬λŠ” μ „ν†΅μ μœΌλ‘œ WAR 포맷의 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ„ν•œ 디렉토리 ꡬ쑰이닀. WAR (Web Application aRchive) νŒŒμΌμ€ μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆλ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ (예: Tomcat, Jetty, WildFly, GlassFish λ“±)μ—μ„œ 싀행될 수 μžˆλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ νŒ¨ν‚€μ§•ν•˜κΈ° μœ„ν•œ 포맷이닀. 

κ·ΈλŸ¬λ‚˜ μŠ€ν”„λ§ λΆ€νŠΈμ™€ 같은 ν”„λ ˆμž„μ›Œν¬μ—μ„œλŠ” λ‚΄μž₯된 μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•˜μ—¬ JAR 파일둜 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ νŒ¨ν‚€μ§•ν•˜κ³  μ‹€ν–‰ν•˜λŠ” 방식이 인기λ₯Ό μ–»κ³  μžˆλ‹€. 이런 경우, JAR둜 νŒ¨ν‚€μ§•λœ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ `src/main/webapp` λ””λ ‰ν† λ¦¬λŠ” λ‹€μŒκ³Ό 같은 이유둜 ꢌμž₯λ˜μ§€ μ•ŠλŠ”λ‹€

 


1. λ¦¬μ†ŒμŠ€ λ‘œλ”©

  JAR 파일 λ‚΄μ—μ„œ `src/main/webapp`의 λ¦¬μ†ŒμŠ€λŠ” 전톡적인 λ°©μ‹μœΌλ‘œ λ‘œλ“œλ˜μ§€ μ•ŠλŠ”λ‹€. μŠ€ν”„λ§ λΆ€νŠΈ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” `src/main/resources` 디렉토리λ₯Ό μ‚¬μš©ν•˜μ—¬ 정적 및 ν…œν”Œλ¦Ώ λ¦¬μ†ŒμŠ€λ₯Ό νŒ¨ν‚€μ§•ν•˜λŠ” 것이 ꢌμž₯λœλ‹€. λ§Œμ•½ JAR둜 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ νŒ¨ν‚€μ§•ν•  경우 λ§Žμ€ build toolμ—μ„œ ν•΄λ‹Ή νŒŒμΌμ„ λ¬΄μ‹œν•˜κΈ° λ•Œλ¬Έμ— κ°œλ°œμ— λ¬Έμ œκ°€ 생긴닀.

2. 일관성

  μŠ€ν”„λ§ λΆ€νŠΈμ—μ„œλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λͺ¨λ“  λ¦¬μ†ŒμŠ€μ™€ ꡬ성을 `src/main/resources` 디렉토리 μ•„λž˜μ— λͺ¨μ•„ κ΄€λ¦¬ν•˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€. 이둜 인해 ꡬ성 및 λ¦¬μ†ŒμŠ€ 관리가 λ‹¨μˆœν™”λ˜λ©°, 디렉토리 ꡬ쑰가 λͺ…ν™•ν•΄μ§„λ‹€.

3. ν‘œμ€€ν™”

  μŠ€ν”„λ§ λΆ€νŠΈλŠ” `src/main/resources`λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¦¬μ†ŒμŠ€λ₯Ό νŒ¨ν‚€μ§•ν•˜κ³  λ‘œλ“œν•˜λŠ” 방식을 ν‘œμ€€ν™”ν•˜μ˜€λ‹€. 이 ν‘œμ€€μ„ λ”°λ₯΄λ©΄ λ‹€λ₯Έ μŠ€ν”„λ§ λΆ€νŠΈ ν”„λ‘œμ νŠΈμ™€μ˜ 일관성을 μœ μ§€ν•  수 μžˆλ‹€.

μš”μ•½ν•˜λ©΄, JAR둜 νŒ¨ν‚€μ§•λœ μŠ€ν”„λ§ λΆ€νŠΈ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” `src/main/webapp` λŒ€μ‹  `src/main/resources` 디렉토리λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 ꢌμž₯λœλ‹€.

λ°˜μ‘ν˜•