JAVA์™€ JRE

์€์ฑ„์˜ ์„ฑ์žฅํ†ตยท2025๋…„ 5์›” 28์ผ

KCC์ •๋ณดํ†ต์‹ 

๋ชฉ๋ก ๋ณด๊ธฐ
3/30
post-thumbnail

๐ŸŽฏ ํ•ต์‹ฌ ์งˆ๋ฌธ

๐Ÿ“Œ "JDK ์•ˆ์— ๋ญ๊ฐ€ ๋“ค์—ˆ๊ณ , Eclipse๋‚˜ Spring Tool์„ ์„ค์น˜ํ–ˆ์„ ๋•Œ ์–ด๋–ค ๋ฒ„์ „๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•˜๋Š”์ง€, ์›Œํฌ์ŠคํŽ˜์ด์Šค๋‚˜ JRE ์„ค์ •๋„ ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ด์š”. ์ตœ์‹  STS์— ์˜›๋‚  Eclipse๋ฅผ ์„ž์–ด ์“ฐ๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋‚˜์š”?"


๐Ÿ—๏ธ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๋น„์œ ๋กœ ์ดํ•ดํ•˜๊ธฐ

๐Ÿงฑ JDK = ์ž๋ฐ” ๊ณต์žฅ

  • JDK๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ „์ฒด ๊ณต์žฅ ์„ธํŠธ.
  • ์ด ์•ˆ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์„ค๋น„๊ฐ€ ์žˆ์–ด์š”:
    • JRE (์ž๋ฐ” ์‹คํ–‰ ํ™˜๊ฒฝ) โ†’ ๊ณต์žฅ์—์„œ ์ œํ’ˆ์„ ํ…Œ์ŠคํŠธ/๋Œ๋ฆฌ๋Š” ์„ค๋น„
    • javac (์ปดํŒŒ์ผ๋Ÿฌ) โ†’ ์ œํ’ˆ(์ฝ”๋“œ)์„ ๊ฐ€๊ณตํ•ด์„œ ์‹ค์ œ ์ž‘๋™๋˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๊ณ„
    • ๊ทธ ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๊ณต๊ตฌ๋“ค (javadoc, jshell, javap ๋“ฑ)

๐Ÿ“Œ ์ฆ‰, JDK = JRE + ๊ฐœ๋ฐœ๋„๊ตฌ๋“ค

๐Ÿ’ก ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„  JDK๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. (๊ทธ ์•ˆ์— JRE๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋‹ˆ๊นŒ)


๐Ÿ–ฅ๏ธ Eclipse / Spring Tool = ์ž‘์—…์žฅ(IDE)

  • Eclipse๋‚˜ Spring Tool์€ ์ด ๊ณต์žฅ์„ ์กฐ์ž‘ํ•˜๋Š” ์ž‘์—…๋Œ€์˜ˆ์š”.
  • ์ง์ ‘ ๊ธฐ๊ณ„๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„์š”.
  • ๋Œ€์‹  ๋ฐ–์— ์„ค์น˜๋œ JDK/JRE๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ฃ .

๐Ÿ“Œ Eclipse๋Š” ์Šค์Šค๋กœ ๊ฐœ๋ฐœ ๋„๊ตฌ(JDK)๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์Œ

๐Ÿ‘‰ ๊ทธ๋ž˜์„œ ์„ค์น˜ ํ›„ ๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ์€ JDK๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ


๐Ÿ”„ JDK์™€ Eclipse/Spring Tool ์—ฐ๊ฒฐ ํ๋ฆ„

๐Ÿ“ฆ ์„ค์น˜ ์ˆœ์„œ๋กœ ๋ณด๋Š” ๊ด€๊ณ„

์ˆœ์„œํ•ด์•ผ ํ•˜๋Š” ์ผ๋ชฉ์ 
1Oracle OpenJDK ๋˜๋Š” Temurin JDK ์„ค์น˜์ž๋ฐ” ๊ฐœ๋ฐœํ™˜๊ฒฝ ์ค€๋น„ (JRE ํฌํ•จ)
2Eclipse ๋˜๋Š” Spring Tool ์„ค์น˜๊ฐœ๋ฐœ IDE ์„ค์น˜
3Eclipse ์‹คํ–‰ โ†’ Preferences โ†’ Installed JREs์—์„œ JDK ๊ฒฝ๋กœ ์ถ”๊ฐ€IDE์—์„œ JDK๋ฅผ ์ธ์‹ํ•˜๊ฒŒ ์„ค์ •
4์ƒˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ โ†’ JRE System Library ์„ ํƒ โ†’ ๋“ฑ๋กํ•œ JDK ์„ ํƒํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ž๋ฐ” ๋ฒ„์ „ ๊ฒฐ์ •

โ— ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ + ๋น„์œ 

โš ๏ธ ์˜ˆ1. "ํด๋ž˜์Šค ํŒŒ์ผ์ด ์ž˜๋ชป๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค" ์˜ค๋ฅ˜

  • ๐Ÿ’ฌ ์˜ˆ: class file has wrong version 61.0, expected 52.0
  • ๐Ÿ“Œ ์ด๊ฑด JDK 17๋กœ ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๋ฅผ JDK 8์—์„œ ๋Œ๋ฆฌ๋ ค๋Š” ๊ฒฝ์šฐ
  • ๐Ÿ”ง ํ•ด๊ฒฐ:
    • JDK 17 ์„ค์น˜ โ†’ Eclipse์— ๋“ฑ๋ก โ†’ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
    • ๋˜๋Š” ์ปดํŒŒ์ผ ์˜ต์…˜ ๋‚ฎ์ถค (์˜ˆ: -release 8)

๐Ÿง  ๋น„์œ :

๊ณ ๊ธ‰ ์„ค๋น„(17๋ฒ„์ „)์—์„œ ๋งŒ๋“  ์ตœ์‹  ์ œํ’ˆ์„ ๋‚ก์€ ๊ธฐ๊ณ„(8๋ฒ„์ „)์—์„œ๋Š” ๋ชป ๋Œ๋ฆฐ๋‹ค. ์ „๊ธฐ ๊ทœ๊ฒฉ์ด ์•ˆ ๋งž๋Š” ๊ฒƒ์ฒ˜๋Ÿผ.


โš ๏ธ ์˜ˆ2. "JRE System Library๊ฐ€ ์—†์–ด์š”" ๋˜๋Š” "JRE๋ฅผ ๋ชป ์ฐพ๊ฒ ์–ด์š”"

  • ๐Ÿ’ฌ ์ƒˆ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ์—ด์—ˆ์„ ๋•Œ ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋น ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ
  • ๐Ÿ“Œ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋งˆ๋‹ค ๊ธฐ๋ณธ JRE ์„ค์ •์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ
  • ๐Ÿ”ง ํ•ด๊ฒฐ:
    • Eclipse โ†’ Preferences โ†’ Java โ†’ Installed JREs โ†’ JDK ์ถ”๊ฐ€
    • ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•  ๋•Œ โ€œUse an execution environment JREโ€๋ฅผ โ€œJavaSE-17โ€ ๊ฐ™์€ ๊ฑธ๋กœ ๋ช…์‹œ

๐Ÿง  ๋น„์œ :

์ž‘์—…์žฅ(Eclipse)์„ ์ƒˆ๋กœ ์˜ฎ๊ฒผ๋Š”๋ฐ ์ „๊ธฐ ์ฝ˜์„ผํŠธ(JRE ์„ค์ •)๊ฐ€ ์—†์–ด์„œ ๊ธฐ๊ณ„(JDK)๋ฅผ ๋ชป ๋Œ๋ฆฌ๋Š” ์ƒํ™ฉ


โš ๏ธ ์˜ˆ3. Spring Tool ์ตœ์‹  ๋ฒ„์ „ + ๊ตฌ๋ฒ„์ „ Eclipse ์กฐํ•ฉ

  • ๐Ÿ’ฌ ์ตœ์‹  STS(์˜ˆ: 4.x)๋Š” Eclipse ๊ธฐ๋ฐ˜์ด์ง€๋งŒ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๋” ์ตœ์‹  ๊ตฌ์กฐ์™€ ํ˜ธํ™˜
  • ๐Ÿ“Œ ๋ฒ„์ „ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ํฌ๋ฉด ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ถฉ๋Œ, ํ”Œ๋Ÿฌ๊ทธ์ธ ํ˜ธํ™˜ ๋ถˆ๊ฐ€ ๋ฐœ์ƒ
  • ๐Ÿ”ง ํ•ด๊ฒฐ:
    • STS๋Š” Eclipse ํ†ตํ•ฉ ๋ฒ„์ „์ด๋ฏ€๋กœ ๋ณ„๋„๋กœ ๊ตฌ๋ฒ„์ „ Eclipse๋ฅผ ์„ž์–ด ์“ฐ๋ฉด ์•ˆ ๋จ
    • ๋‘˜ ๋‹ค ์จ์•ผ ํ•  ๊ฒฝ์šฐ, ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์‚ฌ์šฉ + JDK ํ˜ธํ™˜ ์„ค์ • ๊ตฌ๋ถ„

๐Ÿง  ๋น„์œ :

์ตœ์‹  ์ž‘์—…์žฅ(Sprint Tool)์„ ์“ฐ๋‹ค๊ฐ€ ๋‚ก์€ ์„ค๋น„(Eclipse)๋ฅผ ์ง‘์–ด๋„ฃ์œผ๋ฉด ๋„๋ฉด์ด ์•ˆ ๋งž๊ณ  ํ˜ธํ™˜๋„ ์•ˆ ๋œ๋‹ค. ๊ฐ™์€ ํ˜„์žฅ์ธ๋ฐ ๊ทœ๊ฒฉ์ด ๋‹ค๋ฅด๋‹ˆ๊นŒ.


๐Ÿ“ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ด€๋ จ ์‚ฌํ•ญ

  • ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” Eclipse/STS์˜ ์ž‘์—… ๊ณต๊ฐ„
  • ๊ฐ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” ๊ธฐ๋ณธ JRE ์„ค์ •๊ณผ ๋นŒ๋“œ ๊ฒฝ๋กœ ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง
  • ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋ฐ”๊พธ๋ฉด โ†’ ๋‹ค์‹œ JDK ์„ค์ •์„ ํ™•์ธํ•ด์•ผ ํ•จ!

๐Ÿ’ก ํ•ญ์ƒ Preferences โ†’ Java โ†’ Installed JREs์™€ Build Path โ†’ Libraries๋ฅผ ํ™•์ธํ•˜์„ธ์š”


โœ… ์š”์•ฝ ๋„์‹

     [ JDK ]
      โ”œโ”€โ”€ javac (์ปดํŒŒ์ผ๋Ÿฌ)
      โ”œโ”€โ”€ java (๋Ÿฐํƒ€์ž„ ์‹คํ–‰๊ธฐ)
      โ””โ”€โ”€ [ JRE ]
            โ””โ”€โ”€ JVM + ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

     โ†“ ์„ค์น˜ ํ›„ ๋“ฑ๋ก

     [ Eclipse / STS ]
      โ””โ”€โ”€ ์ž‘์—… ๋„๊ตฌ (IDE)
          โ”œโ”€โ”€ ์™ธ๋ถ€ JDK๋ฅผ ๋“ฑ๋กํ•ด์„œ ์‚ฌ์šฉ
          โ””โ”€โ”€ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ณ„๋กœ ๋‹ค๋ฅธ JRE ์„ค์ • ๊ฐ€๋Šฅ

     โ†“ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์‹œ

     [ Java Project ]
      โ””โ”€โ”€ Build Path โ†’ ๋“ฑ๋ก๋œ JDK (๋˜๋Š” JRE)๋ฅผ ์ฐธ์กฐ

โœ… ๊ฒฐ๋ก  ์š”์•ฝ

  • JDK๋งŒ ์„ค์น˜ํ•˜๋ฉด JRE๋„ ์ž๋™ ํฌํ•จ๋จ โ†’ ๊ฐœ๋ฐœ๊ณผ ์‹คํ–‰ ๋‘˜ ๋‹ค ๊ฐ€๋Šฅ
  • Eclipse๋‚˜ STS๋Š” ์™ธ๋ถ€ JDK๊ฐ€ ํ•„์š” โ†’ ์„ค์น˜ ํ›„ ์„ค์ •ํ•ด์ค˜์•ผ ํ•จ
  • ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฐ”๋€Œ๋ฉด JDK ์„ค์ • ๋‹ค์‹œ ํ™•์ธ
  • ๊ตฌ๋ฒ„์ „ Eclipse + ์ตœ์‹  STS ํ˜ผ์šฉ์€ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ
  • ํ•ญ์ƒ JDK ๋ฒ„์ „, ์›Œํฌ์ŠคํŽ˜์ด์Šค JRE ์„ค์ •, ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ฒฝ๋กœ ์„ธ ๊ฐ€์ง€๋ฅผ ๋งž์ถฐ์•ผ ์•ˆ์ •์ ์ธ ์ž๋ฐ” ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ

profile
์ธ์ƒ ๋ณ„๊ฑฐ ์—†์–ด

0๊ฐœ์˜ ๋Œ“๊ธ€