๐ฏ ํต์ฌ ์ง๋ฌธ
๐ "JDK ์์ ๋ญ๊ฐ ๋ค์๊ณ , Eclipse๋ Spring Tool์ ์ค์นํ์ ๋ ์ด๋ค ๋ฒ์ ๊ณผ ์ฐ๊ฒฐ๋์ด์ผ ํ๋์ง, ์ํฌ์คํ์ด์ค๋ JRE ์ค์ ๋ ๋ฐ๋์ด์ผ ํ๋์ง ๊ถ๊ธํด์. ์ต์ STS์ ์๋ Eclipse๋ฅผ ์์ด ์ฐ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๋์?"

๐๏ธ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ๋น์ ๋ก ์ดํดํ๊ธฐ
๐งฑ JDK = ์๋ฐ ๊ณต์ฅ
- JDK๋ ์๋ฐ ๊ฐ๋ฐ์ ์ํ ์ ์ฒด ๊ณต์ฅ ์ธํธ.
- ์ด ์์๋ ๋ ๊ฐ์ง ์ฃผ์ ์ค๋น๊ฐ ์์ด์:
- JRE (์๋ฐ ์คํ ํ๊ฒฝ) โ ๊ณต์ฅ์์ ์ ํ์ ํ
์คํธ/๋๋ฆฌ๋ ์ค๋น
- javac (์ปดํ์ผ๋ฌ) โ ์ ํ(์ฝ๋)์ ๊ฐ๊ณตํด์ ์ค์ ์๋๋๊ฒ ๋ง๋๋ ๊ธฐ๊ณ
- ๊ทธ ์ธ์๋ ๋ค์ํ ๊ณต๊ตฌ๋ค (
javadoc, jshell, javap ๋ฑ)
๐ ์ฆ, JDK = JRE + ๊ฐ๋ฐ๋๊ตฌ๋ค
๐ก ๊ฐ๋ฐ์ ์
์ฅ์์ JDK๋ง ์ค์นํ๋ฉด ๋๋ค. (๊ทธ ์์ JRE๊ฐ ํฌํจ๋์ด ์์ผ๋๊น)
- Eclipse๋ Spring Tool์ ์ด ๊ณต์ฅ์ ์กฐ์ํ๋ ์์
๋์์.
- ์ง์ ๊ธฐ๊ณ๋ฅผ ๋ง๋ค๊ฑฐ๋ ํฌํจํ๊ณ ์์ง ์์์.
- ๋์ ๋ฐ์ ์ค์น๋ JDK/JRE๋ฅผ ์ฐ๊ฒฐํด์ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค์ฃ .
๐ Eclipse๋ ์ค์ค๋ก ๊ฐ๋ฐ ๋๊ตฌ(JDK)๋ฅผ ํฌํจํ๊ณ ์์ง ์์
๐ ๊ทธ๋์ ์ค์น ํ ๊ฐ์ฅ ๋จผ์ ํ ์ผ์ JDK๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๊ฒ
๐ฆ ์ค์น ์์๋ก ๋ณด๋ ๊ด๊ณ
| ์์ | ํด์ผ ํ๋ ์ผ | ๋ชฉ์ |
|---|
| 1 | Oracle OpenJDK ๋๋ Temurin JDK ์ค์น | ์๋ฐ ๊ฐ๋ฐํ๊ฒฝ ์ค๋น (JRE ํฌํจ) |
| 2 | Eclipse ๋๋ Spring Tool ์ค์น | ๊ฐ๋ฐ IDE ์ค์น |
| 3 | Eclipse ์คํ โ 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)๋ฅผ ๋ชป ๋๋ฆฌ๋ ์ํฉ
- ๐ฌ ์ต์ 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 ์ค์ , ํ๋ก์ ํธ ๋น๋ ๊ฒฝ๋ก ์ธ ๊ฐ์ง๋ฅผ ๋ง์ถฐ์ผ ์์ ์ ์ธ ์๋ฐ ๊ฐ๋ฐ ๊ฐ๋ฅ