Jar 와 War 차이점은 ? War 파일 λ°°ν¬ν•˜λŠ” 방법

2023. 4. 7. 08:37γ†μΈν”„λŸ°/μŠ€ν”„λ§ λΆ€νŠΈ - 핡심 원리와 ν™œμš©

728x90

 

 

1️⃣ Jar (Java Archive) 

μžλ°”λŠ” μ—¬λŸ¬ ν΄λž˜μŠ€μ™€ λ¦¬μ†ŒμŠ€λ₯Ό λ¬Άμ–΄μ„œ jar 라고 ν•˜λŠ” μ••μΆ• νŒŒμΌμ„ λ§Œλ“€ 수 μžˆλ‹€. 

이 νŒŒμΌμ€ JVM μœ„μ—μ„œ 직접 μ‹€ν–‰λ˜κ±°λ‚˜ λ‹€λ₯Έ κ³³μ—μ„œ μ‚¬μš©ν•˜λŠ” 라이브러리둜 μ œκ³΅λœλ‹€. 

 

JarλŠ” ν΄λž˜μŠ€μ™€ κ΄€λ ¨ λ¦¬μ†ŒμŠ€λ₯Ό μ••μΆ•ν•œ λ‹¨μˆœν•œ 파일둜, 이λ₯Ό ν•„μš”ν•œ κ²½μš°μ— 직접 μ‹€ν–‰ν•  μˆ˜λ„ 있고 λ‹€λ₯Έ κ³³μ—μ„œ 라이브러리 μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€. 

 

 

 

2️⃣ War (Web Application Archive) 

war λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ WAS 에 배포할 λ•Œ μ‚¬μš©ν•˜λŠ” 파일둜, 즉 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ μœ„μ—μ„œ μ‹€ν–‰λ˜κ³ , HTML 같은 정적 λ¦¬μ†ŒμŠ€ 와 클래슀 νŒŒμΌμ„ λͺ¨λ‘ ν•¨κ»˜ ν¬ν•¨ν•œλ‹€. 

WarλŠ” ꡬ쑰λ₯Ό μ§€μΌœμ•Ό ν•˜λŠ”λ° 

WEB-INF 

  - classes : μ‹€ν–‰ 클래슀 λͺ¨μŒ 

  - lib : 라이브러리 λͺ¨μŒ 

  - web.xml : μ›Ή μ„œλ²„ 배치 μ„€μ • 파일 (μƒλž΅μ€ κ°€λŠ₯) 

-index.html : 정적 λ¦¬μ†ŒμŠ€ 

 

 

 

Jar λŠ” JVM μœ„μ—μ„œ μ‹€ν–‰λœλ‹€λ©΄, WarλŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ μœ„μ—μ„œ μ‹€ν–‰λœλ‹€λŠ” 차이점이 μžˆλ‹€. 

(근데 War 도 java -jar  을 μ΄μš©ν•΄ μƒμ„±ν•˜λŠ” jar 파일의 μΌμ’…μœΌλ‘œ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 전체λ₯Ό νŒ¨ν‚€μ§•ν•˜κΈ° μœ„ν•œ jar 파일이라고 생각해도 λœλ‹€..  )

 

 

 

3️⃣ War λ°°ν¬ν•˜λŠ” 방법 

1. μš°μ„  톰캣이 μ‹€ν–‰ μ€‘μ΄μ—ˆλ‹€λ©΄ 톰캣을 μ’…λ£Œν•œλ‹€. shutdown.bat (μœˆλ„μš°) 
2. tomcat 폴더 μ•ˆμ— webapps μ΄λΌλŠ” 폴더가 μžˆλŠ”λ° 여기에 κΈ°λ³Έ ν…ŒμŠ€νŠΈ? μ½”λ“œλ“€μ΄ λ‚¨μ•„μžˆκΈ° λ•Œλ¬Έμ— 이λ₯Ό λͺ¨λ‘ μ‚­μ œν•œλ‹€. 
3. λΉŒλ“œν•œ war νŒŒμΌμ„ webapps 폴더에 λ³΅μ‚¬ν•œλ‹€. 
4. ν†°μΊ£ μ„œλ²„λ₯Ό μ‹€ν–‰ν•œλ‹€. startup.bat (μœˆλ„μš°) 

μ‹€ν–‰κ²°κ³Ό 확인

http://localhost:9080/index.html 

(λ‚˜λŠ” tomcat 포트λ₯Ό 9080으둜 λ³€κ²½ν•΄μ„œ κ·Έλ ‡κ³ , 기본은 8080이닀.) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90