๐…๋ฒˆ์งธ ์•ŒํŒŒ์นด์˜ ๊ฐœ๋ฐœ ๋‚™์„œ์žฅ

screen

Tomcat 9 vs 10

posts

WAS

count

๊ฐœ์š” ๐Ÿ”—

ํ•„์ž๋Š” Jersey 3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ API ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ URL์„ ํ˜ธ์ถœํ–ˆ์Œ์—๋„, 404 ์˜ค๋ฅ˜๊ฐ€ ๊ณ„์† ์ถœ๋ ฅ๋๋‹ค.

๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์„œ๋ธ”๋ฆฟ์„ ์ž‘์„ฑํ•˜๊ณ , ๊ณต์‹ ๋ฌธ์„œ์™€ ์•„๋ฌด๋ฆฌ ๋น„๊ต๋ฅผ ํ•ด๋„ ๋ณ„๋‹ค๋ฅธ ํŠน์ด์ ์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค.

์•Œ๊ณ ๋ณด๋‹ˆ, Jersey 3๋Š” Servlet 5.0์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Servlet 5.0 ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•œ Tomcat 10 ์ด์ƒ๋ถ€ํ„ฐ ๊ตฌ๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์•Œ์•˜๋‹ค.

์ง€๊ธˆ๊ป ํ†ฐ์บฃ์˜ ๋ฒ„์ „์„ ํฌ๊ฒŒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•˜์œผ๋‚˜, ์ด ๊ณ„๊ธฐ๋กœ Tomcat 9์™€ Tomcat 10์— ํฐ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

JavaEE์™€ JakartaEE ๐Ÿ”—

Tomcat 9์™€ Tomcat 10๋Š” API ๊ตฌํ˜„์ฒด๊ฐ€ ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง„๋‹ค.

  • JavaEE - Tomcat 9๊นŒ์ง€ ์ ์šฉ๋จ (javax.*)
  • JakartaEE - Tomcat 10๋ถ€ํ„ฐ ์ ์šฉ๋จ (jakarta.*)

Tomcat 9 ์ด์ „๊นŒ์ง„ JavaEE๋ผ๋Š” ๋™์ผํ•œ ์ŠคํŽ™์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ด ๋•๋ถ„์— ํ†ฐ์บฃ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ํ•˜๋”๋ผ๋„ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ๋•๋ถ„์— JavaEE๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ณ„๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ Tomcat 10๋ถ€ํ„ฐ๋Š” JakartaEE๋กœ ์™„์ „ํžˆ ์ŠคํŽ™์ด ๋ณ€๊ฒฝ๋˜์–ด ๋”์ด์ƒ ํ˜ธํ™˜์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. Servlet 5.0์€ JakartaEE๋ถ€ํ„ฐ ์ง€์›๋˜๋ฏ€๋กœ, ํ•ด๋‹น ๋ฒ„์ „์˜ ์„œ๋ธ”๋ฆฟ์„ JavaEE๋กœ ๊ตฌ๋™ํ•˜๊ฑฐ๋‚˜, ๋” ๋‚ฎ์€ ๋ฒ„์ „์˜ ์„œ๋ธ”๋ฆฟ์„ JakartaEE๋กœ ๊ตฌ๋™ํ•˜๋ฉด ์„œ๋ธ”๋ฆฟ์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•„ 404 ์˜ค๋ฅ˜๊ฐ€ ๋œจ๊ฒŒ ๋œ๋‹ค.


๋‚ด๋ถ€ ๋กœ์ง์ด๋‚˜ ๊ตฌ์กฐ์ ์œผ๋ก  ๋งŽ์€ ๊ฒŒ ๋ณ€๊ฒฝ๋๊ฒ ์ง€๋งŒ, ํ‘œ๋ฉด์ ์œผ๋กœ JavaEE์™€ JakartaEE์˜ ์ฐจ์ด๋Š” ํŒจํ‚ค์ง€๋ช…์ด๋‹ค.

javax.*์„ jakarta.*๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜๋Š” JavaEE์™€ JakartaEE์˜ ํŒจํ‚ค์ง€๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

๊ตฌ๋ถ„ JavaEE JakartaEE
Servlet javax.servlet jakarta.servlet
JPA javax.persistence jakarta.persistence
EJB javax.ejb jakarta.ejb
Mail javax.mail jakarta.mail

์œ„์™€ ๊ฐ™์ด EE๋ช…์— ๋”ฐ๋ผ javax์ธ์ง€ jakarta์ธ์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

์ด ๋‚ด์šฉ์€ Tomcat 10 ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€์—๋„ ๋ช…์‹œ๋˜์–ด์žˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ํ•œ๊ตญ์˜ ๊ฒฝ์šฐ, ์–ธ์–ด์˜ ์žฅ๋ฒฝ์ด ์ž‘์šฉํ•˜๋ฏ€๋กœ ์ฃผ์˜๊นŠ๊ฒŒ ์ฝ์ง€ ์•Š๋Š” ํ•œ ๋ชจ๋ฅด๊ณ  ์ง€๋‚˜๊ฐ€๊ธฐ ์‰ฝ๋‹ค.

์™œ ๊ตณ์ด? ๐Ÿ”—

์‚ฌ์‹ค ์ด๋ ‡๊ฒŒ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ผ์€ ํ”ํ•˜์ง€ ์•Š๋‹ค. ๋ฐ˜๋“œ์‹œ ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด ์ค‘๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ฑฐ๋‚˜, ์˜ˆ์ƒ๋  ๊ฒฝ์šฐ, ์ ์ ˆํ•œ ๋…ผ์˜์™€ ์˜๊ฒฌ ์กฐ์œจ์„ ํ†ตํ•ด ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ๋Œ€๋ถ€๋ถ„์ด๋‹ค. ํŠนํžˆ Java์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž ํ’€์ด๋‚˜ ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ๊ฐ€ ์„ธ๊ณ„๊ธ‰์ธ ๊ฒƒ์€ ๋”๋”์šฑ ๊ทธ๋ ‡๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ด๋ ‡๊ฒŒ ํŒจํ‚ค์ง€๋ช…์„ ๋ณ€๊ฒฝํ•œ ์ด์œ ๋Š”, ์ฝ”๋“œ์ ์ธ ๋ชฉ์ ๋ณด๋‹ค๋Š” ์†Œ์œ„ ์–ด๋ฅธ๋“ค์˜ ์‚ฌ์ •์œผ๋กœ ์ธํ•œ ์ด์œ ๊ฐ€ ๋”์šฑ ํฌ๋‹ค.

2010๋…„, Oracle์ด Java์˜ ๊ฐœ๋ฐœ์‚ฌ์ธ Sun Microsystems๋ฅผ ์ธ์ˆ˜ํ•˜๋ฉด์„œ ๊ด€๋ จ ๋ผ์ด์„ผ์Šค๊ฐ€ Oracle๋กœ ์ „๋ถ€ ์ด๊ด€๋˜๊ฒŒ ๋œ๋‹ค. ์ดํ›„ 7๋…„ ๋’ค, Oracle์€ Java์˜ ๋ผ์ด์„ผ์Šค๋ฅผ Eclipse Foundation์œผ๋กœ ์ด๊ด€ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด ๊ณผ์ •์—์„œ Java์˜ ๋ผ์ด์„ผ์Šค๋Š” ์ด๊ด€๋˜์—ˆ์ง€๋งŒ, Java์˜ ์ƒํ‘œ๋Š” ์—ฌ์ „ํžˆ Oracle์ด ์†Œ์œ ํ•˜๊ณ  ์žˆ์–ด, ์ดํด๋ฆฝ์Šค ์žฌ๋‹จ์€ JavaEE์— ์‚ฌ์šฉ๋˜๋Š” Java๋ฅผ "Java"๋ผ๊ณ  ๋ช…๋ช…ํ•  ์ˆ˜ ์—†๋Š” ์ดŒ๊ทน์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฏธ๊ตญํŒ ํ™๊ธธ๋™์ธ ์…ˆ. ์ด๋Š” ์ดํด๋ฆฝ์Šค ์žฌ๋‹จ ๋ธ”๋กœ๊ทธ์—์„œ ์ž์„ธํ•œ ๋‚ด๋ง‰์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋•Œ๋ฌธ์— ์ดํด๋ฆฝ์Šค ์žฌ๋‹จ์€ JavaEE๋กœ ์ธํ•œ ๋ผ์ด์„ผ์Šค๋ฅผ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด JakartaEE๋กœ ๋ช…์นญ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์šด์˜ํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์œผ๋กœ ์ดํด๋ฆฝ์Šค ์žฌ๋‹จ์ด ๊ฐœ๋ฐœํ•˜๋Š” ๋ชจ๋“  ์‚ฌํ•ญ์€ JakartaEE์— ๋ฐ˜์˜๋œ๋‹ค.

JavaEE์˜ ๋ฆด๋ฆฌ์ฆˆ๋Š” ์ข…๋ฃŒ๋œ ์…ˆ์ด๋‹ค. ์ˆ˜ ๋…„์ด ์ง€๋‚˜๋ฉด JavaEE๋Š” deprecated๋กœ ๋”์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ ๋˜ํ•œ ๋ฐฐ์ œํ•  ์ˆ˜ ์—†๋‹ค.



JakartaEE์—์„œ JavaEE ์‚ฌ์šฉํ•˜๊ธฐ ๐Ÿ”—

Tomcat 9์™€ 10 ์‚ฌ์ด์˜ ์ฐจ์ด๋กœ ์ธํ•ด, JavaEE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ WAR๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ํŠนํžˆ ์„œ๋“œํŒŒํ‹ฐ WAR๋ฅผ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ, ๋ณธ์ธ์ด ์ง์ ‘ ์ปดํŒŒ์ผํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ๋„ ๋‚œ๊ฐํ•˜๋‹ค.

ํ•˜์ง€๋งŒ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋“ฏ์ด JavaEE์™€ JakartaEE์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•๋งŒ ํ™œ์šฉํ•˜๋ฉด JavaEE๋กœ ์ปดํŒŒ์ผ๋œ WAR๋ฅผ JakartaEE๋กœ ๊ฐ„๋‹จํžˆ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. Tomcat 10์˜ ๊ฒฝ๋กœ์— webapps-javaee๋ฅผ ๋งŒ๋“ ๋‹ค.
  2. webapps-javaee์— ๋ณ€ํ™˜ํ•˜๊ธธ ์›ํ•˜๋Š” WAR๋ฅผ ์œ„์น˜์‹œํ‚จ๋‹ค.
  3. Tomcat์—์„œ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฑธ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
    1. ๋งŒ์•ฝ ๋ณ€ํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์žฌ๊ธฐ๋™
  4. webapps์—์„œ ๋ณ€ํ™˜๋œ WAR๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„ ๋‚ด์šฉ์€ Tomcat ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์˜ Tomcat 10 ๋ฆด๋ฆฌ์ฆˆ ๋‚ด์šฉ์—์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ JavaEE -> JakartaEE๋กœ์˜ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ ๋ฐ˜๋Œ€๋„ ๊ฐ€๋Šฅํ•œ์ง€๋Š” ๋”ฐ๋กœ ๋ช…์„ธ๋œ ๊ฒŒ ์—†๋‹ค.