๊ฐ๋ฐ ๋ฐํ์ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ: Javaํธ
๊ฐ๋ฐ ๋ฐํ์ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ: Javaํธ ๊ด๋ จ
๊ฐ๋ฐ์์๊ฒ ์ปคํผ ํ ์์ ๋ฐ์ ํ๋ฃจ์ ์ฐพ์์ค๋ ์์ ์ฌ์ ๊ฐ ์๋๊น ์๊ฐํฉ๋๋ค. ์ ์ฒ๋ผ ์๊ฐํ๋ ๋ถ์ด ๊ณ์๊ฒ ์ฃ ?
์กฐ๊ธ ์๋ฑํ ์์์ด์์ต๋๋ค. ์ค๋ ์๊ฐํ๊ณ ์ ํ๋ ์ฃผ์ ๊ฐ ์ปคํผ ์ด๋ฆ์์ ๋น๋กฏ๋ ์ธ์ด, '์๋ฐ(Java)'์ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ์ ๋ํ ์ด์ผ๊ธฐ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฐ์ ์๋ฒ์ง ์ ์์ค ๊ณ ์ฌ๋ง์ ์์ ์ด ๋ง๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ง์นจ ๊ทธ๊ฐ ๋ง์๊ณ ์๋ ์ปคํผ ์ด๋ฆ์ธ '์๋ฐ'๋ฅผ ๋ถ์๋ค๊ณ ํฉ๋๋ค.
์ค๋๋ ์๋ฐ๋ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ฐ๊ณ ์ ํ๋ ์ฌ๋๋ถํฐ ์ํฐํ๋ผ์ด์ฆ์ ์ด๋ฅด๊ธฐ๊น์ง ๋งค์ฐ ๋ค์ํ ํ๊ฒฝ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ๊ทธ๋ฟ๋ง ์๋๋ผ ์ค๋ ์๊ฐ ์๋ฐ๊ฐ ์ฌ์ฉ๋์ด ์ค๋ฉด์ ์๋ฐ VM(์ดํ JVM)์ ๊ฐ์ด ์ฌ์ฉํ๋ ์ฝํ๋ฆฐ, ์ค์นผ๋ผ, ํด๋ก์ ธ, ๊ทธ๋ฃจ๋น ๊ฐ์ ์ธ์ด๋ค๋ ๋ฑ์ฅํ์ต๋๋ค. ์ด๋ฅผ ๋ณด๊ณ ์์ผ๋ฉด ์ด ์ธ์์ ์จํต ์๋ฐ๋ก ๊ฐ๋์ฐจ ์์ง ์์๊น ์๊ฐ๋ ๋ญ๋๋ค.
JDK ๊ฐ๋ฐ์ ์ด์ฉ๋ค ์ค๋ผํด๊ณผ ์ปค๋ฎค๋ํฐ๋ก ๋๋์ด์ก์๊น?
์ ๊ฐ ์๋ฐ๋ฅผ ์ฒ์ ๋ณธ 1998๋ ์ฏค์๋ ์ง๋ฐฉ ์์ ์ ์๊ฐ์๋ โ์๋ฐ 1.2โ๋ฅผ ๋ค๋ฃจ๋ ์ฑ ์ด ์์์ ์ ๋์์ผ๋, ๋ฐํ ์ดํ ๋น ๋ฅด๊ฒ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ดํ์ด ๋ถ์ง ์์๋ ์๊ฐ๋ฉ๋๋ค. ์กฐ๊ธ ๋ ์๊ฐ์ด ์ง๋๊ณ 2002๋ ๊ฒฝ, ์๋ฐ๋ ์ด๋ฏธ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ์ด๋ ์น ์ฌ์ดํธ๋ฅผ ๋ง๋๋ ์ผ์๋ ํ๋ฐํ ์ฐ์ด๊ณ ์์์ต๋๋ค. ๊ธฐ์กด์๋ ์๋ฐ๋ก ์น ์ฌ์ดํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ ํต์ ์ผ๋ก ์๋ธ๋ฆฟ ๊ธฐ์ ์ ์ฌ์ฉํ์ง๋ง, J2EE์ JSP ๊ธฐ์ ์ด ๋ค์ด์ค๋ฉด์ ์๋ฐ ๊ธฐ๋ฐ ์น ์ฌ์ดํธ ๊ฐ๋ฐ์ด ์์๊ฐ์ ์ธ๊ธฐ๋ฅผ ์ป์์ต๋๋ค.
2010๋ ์๋ ๋ณํ๊ฐ ์์์ต๋๋ค. ๊ทธ๋๊น์ง ์๋ฐ๋ฅผ ๋ง๋ค๊ณ ๋ฌด๋ฃ๋ก ๊ณต๊ธํด์ค๋ ์ฌ๋ง์ดํฌ๋ก์์คํ ์ฆ๊ฐ ์ค๋ผํด์ ์ธ์๋ ๊ฑฐ์ฃ . ์ดํ ์ค๋ผํด์ ๋ฌด๋ฃ์๋ ์๋ฐ๋ฅผ ๊ธฐ์ ์ ํจํค์ง ๋ผ์ด์ ์ค ํํ๋ก ๊ณต๊ธํฉ๋๋ค. ์ฒ์์๋ ๊ฐ์ธ ์ฌ์ฉ์๊ฐ ์ง์ ๊ฐ์ ธ๋ค ์ค์นํ๋ ๊ฒ๊น์ง๋ ๋ง์ง ์์์ง๋ง, 2019๋ ๋ถํฐ๋ ์์ฌ๊ฐ ํจํค์งํด์ ํ๋งคํ๋ ์ค๋ผํด ์๋ฐ๋ฅผ ๊ตฌ๋ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ฉด ์ ๋ฃํํ์ต๋๋ค.
์ง๊ธ๋ ๊ทธ๋ ์ง๋ง ์ด ๋น์์๋ ์๋ฐ๋ ์๋๋ก์ด๋์ ํต์ฌ ๊ตฌ์ฑ ์์๋ก ์ฌ์ฉ๋์์ต๋๋ค. ๊ทธ๋์ ๋ฌด๋ฃ๋ก ์ค๋ผํด ์๋ฐ๋ฅผ ์ฌ์ฉํด ์๋๋ก์ด๋๋ฅผ ๋ง๋ค๋ ๊ตฌ๊ธ์ ๋ฌผ๋ก ์ด๊ณ IBM, ๋ ๋ํ ๊ฐ์ ๊ธฐ์ ๊น์ง ์ค๋ผํด ์๋ฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ๋ถ๋ด์ ๋๋ผ๊ฒ ๋ฉ๋๋ค.
ํํธ ์ค๋ผํด์ ์๋ฐ๋ฅผ ์ ๋ฃํํ๊ธฐ ์ด์ ์ธ 2017๋ ๋ถํฐ ์๋ฐ ์ํฐํ๋ผ์ด์ฆ ์๋์ (Java EE)์ ์คํ์์ค ์ฌ๋จ์ด ์ด๋์ด ์ฃผ๊ธฐ๋ฅผ ํฌ๋งํ์ต๋๋ค. ์ค๋ผํด SE์ ์ง์คํ๊ธฐ ์ํด์์์ฃ . Java EE ๊ฐ๋ฐ์ ์ง์ํ ์ ์๋ ์คํ์์ค ์ฌ๋จ์ Apache Foundation๊ณผ Eclipse IDE๋ฅผ ๋ง๋ค๋ Eclipse Foundation์ด์๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก J2EE๋ Eclipse Foundation์ ์ด๊ด๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ 2๋ ํ ์ค๋ผํด์ด ์๋ฐ ์ ๋ฃํ๋ฅผ ๊ฒฐ์ ํ๊ฒ ๋์ฃ .
์๋ฐ SDK ์ ๋ฃํ ์ ์ฑ ์ดํ, ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์ฌ๋ค์ ๋ฌผ๋ก ์ด๊ณ ๊ฐ๋ฐ์๋ค๋ ํผ๋์ ํฌ๊ฒ ๊ฒช์์ต๋๋ค. ์ด ๋น์์๋ ์๋ง์ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์ค๋ผํด์์ ๋ฐฐํฌํ๋ ์๋ฐ(Hot Java) ๊ธฐ๋ฅ์ ํฌ๊ฒ ์์กดํ๊ณ ์์๊ธฐ ๋๋ฌธ์ด์์ต๋๋ค.
์ด๋ ์๋ฐ ์ ๋ฃํ ์ฌ๊ฑด์ผ๋ก ์ด๋ ค์์ ๊ฒช์ ์ด๋ค์ด ํ๋ฐ ๋ชจ์ฌ OpenJDK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ด์ ์ค์ ์์ ๋ก์ด JVM์ ๋ง๋ค๊ฒ ๋์์ต๋๋ค. ์ง๊ธ์ Temurin์ด๋ผ ๋ถ๋ฆฌ๋ JVM์ด ๋ฐ๋ก OpenJDK ๊ธฐ๋ฐ์ ๋๋ค. ๋ค๋ง ์ด OpenJDK๋ 2006๋ ๋ถํฐ ์ฌ๋ง์ดํฌ๋ก์์คํ ์ฆ๊ฐ ์คํ ์์ค๋ก JVM์ ๊ณต๊ฐํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ OpenJDK ์ญ์ ์ค๋ผํด์ด ์ํ๊ถ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ธฐ์ ์์๋ JVM์ ๋ฐ๋ก ๊ฐ๋ฐํ๊ธฐ ์์ํ์ต๋๋ค. ํนํ ํด๋ผ์ฐ๋์ ํ์ ์ดํ ๊ฐ๋ฐ์ด ๊ฐ์ํ๋์์ฃ . Eclipse๋ฅผ ์ฒ์ ๋ง๋ค์๋ IBM์ ๋ฌผ๋ก ์ด๊ณ ์๋ฆฌ๋ฐ๋ฐ, ํ์จ์ด๋ ๋ ์์ ์ผ๋ก JVM์ ๊ฐ๋ฐํ์ฃ . ์๋ฐ ์ ๋ฃํ ์ ์ฑ ์ดํ ์ผ๋ง๊ฐ์ ์๊ฐ์ด ์ง๋ ์ง๊ธ, ๊ฐ๋ฐ์๋ค์ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๊ณ ๊ฐ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ JVM์ ์ทจ์ฌ ์ ํํ๊ฒ ๋์์ต๋๋ค.
์ ํต์ ์ผ๋ก JDK ์ค์น๋ JDK ํ๋ก๊ทธ๋จ์ ๋ฐ๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ JDK์ SDK๊ฐ ๋์ด๋๋ ํ๊ฒฝ ์ค์ ์ ์ ๋ฅผ ๋จน๊ฒ ๋์์ต๋๋ค. ๋ฐ๋ก ์ฌ๊ธฐ์์ ์ค๋์ ์ฃผ์ ์ธ ์๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ์ ๋ฌธ์ ๊ฐ ์์๋ฉ๋๋ค.
๋ค์ํด๋ ๋๋ฌด ๋ค์ํ JVM๊ณผ ์๋ฐ ๊ธฐ๋ฐ ๊ฐ๋ฐ ์ํ๊ณ
์๋ฐ๊ฐ ์ฒ์ ๋ฑ์ฅํ 1995๋ ์ดํ, ์๋ฐ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋จ๊ณผ ๊ฐ๋ฐ ์ํ๊ณ๋ ๋๋ผ์ธ ์ ๋๋ก ํฌ๊ฒ ์ฑ์ฅํ์ต๋๋ค. ํนํ 2003๋ ์ ๋ฐํ๋ ์๋ฐ ํ๋ ์์ํฌ Spring์ 20์ฌ๋ ์ง๋ ์ง๊ธ๋ ์๋ฐ ๊ฐ๋ฐ ์ํ๊ณ์ ๋๋ถ๋ถ์ ์ฐจ์งํ ์ ๋๋ก ์ธ๊ธฐ๋ฅผ ๋๊ณ ์์ต๋๋ค.
์๋ฐ ์ธ์ด๋ก ์์ฑ๋ ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก JVM์ ๊ฑฐ์ณ ํด์ํ ์ ์๋ ํํ์ ํ์ผ๋ก ๋ณํ๋์ด์ผ ํฉ๋๋ค. ๋ณดํต ์ด๋ฐ ๊ณผ์ ์ ์ปดํ์ผ์ด๋ผ๊ณ ํฉ๋๋ค. ์ด ๊ณผ์ ์ ๋ง์น๊ณ ๋๋ฉด JVM์ด ์ปดํ์ผ๋ ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ์ด๋ค์ฌ ์คํํฉ๋๋ค.
์ด๋ ์๋ฐ ์ธ์ด๋ก ์์ฑ๋ ํ์ผ์ ์์ด ์ ์ผ๋ฉด JVM์์ ์ปดํ์ผ ํ๋ ์๊ฐ์ด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ง ์์ต๋๋ค. ํ์ง๋ง ์ปดํ์ผํ๋ ค๋ ํ์ผ์ด ๋ง์์ง๋ฉด ๋ฌธ์ ๊ฐ ๋ณต์กํด์ง๋๋ค. ํนํ ์ด ํ์ผ๋ค์ด ์ฐ๊ด์ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด, ์ปดํ์ผํ ๋ ์ด๋ค์ ๊ด๊ณ์ฑ์ ์๋ฐ ์ปดํ์ผ๋ฌ์๊ฒ ์๋ ค์ฃผ์ด์ผ ํฉ๋๋ค.
C์ธ์ด๋ C++ ๊ฐ์ ์ธ์ด๋ ์ด๋ฐ ๋ฌธ์ ์์ ์์ ๋กญ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ๋ง๊ฒ๋ ์์ญ ๊ฐ, ์๋ฐฑ ๊ฐ๊น์ง ์ฐ๊ด ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ ํ์ผ์ ์ฝ๊ฒ ์ปดํ์ผํ๋๋ก ๋์์ฃผ๋ Make ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์๋ฐ์๋ ๊ฐ์ ์ด์ ๋ก ์๋ฐ ์ปดํ์ผ์ ์ฝ๊ฒ ๋์์ฃผ๋ Ant๋ผ๋ ๋๊ตฌ๊ฐ ์์ต๋๋ค. ํ์ง๋ง Ant ๋ฑ์ฅ ์ดํ ์๋ฐ ๊ฐ๋ฐ ์ํ๊ณ๋ ํ๋ก๊ทธ๋จ์ ์ข ์์ฑ ๊ด๋ฆฌ ๋ฌธ์ ์ ๋ถ๋ชํ๊ฒ ๋์์ต๋๋ค.์ฌ๊ธฐ์์ '์ข ์์ฑ'์ด๋ ํ๋ก๊ทธ๋จ์ด ๋์ํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์๋ก ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ข ์์ฑ ๋ฌธ์ ๋ ๊ธฐ์กด์ C, C++ ๊ฐ์ ์ธ์ด์์๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก, ๊ฐ๋ฐ์๋ ์ปดํ์ผ๋ฌ์๊ฒ ์ข ์์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ด๋ค ๊ฒฝ๋ก์ ์๋์ง ๋ ์๋ ค์ฃผ์ด์ผ ํ์ต๋๋ค.
์๋ฐ์ ๊ฒฝ์ฐ, ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Maven, Gradle ๊ฐ์ ๋๊ตฌ๊ฐ ์ฐจ๋ก๋๋ก ๋ฐํ๋์์ต๋๋ค. ๋ค๋ง ๊ฐ๋ฐ ์ํ๊ณ์์๋ ์ด๋ค ๋๊ตฌ ํ๋๊ฐ ๋ฑ์ฅํ๋ค๊ณ ๋ชจ๋ ์ฌ๋์ด ๋น ๋ฅด๊ฒ ๊ทธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค. ํ๋ก์ ํธ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋๊ตฌ๋ฅผ ์ ํํ๊ธฐ๋ ํ์ฃ . ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๋ค ํ๋ก๊ทธ๋จ์ Ant๋ฅผ, ์ด๋ค ํ๋ก๊ทธ๋จ์ Maven, ์ด๋ค ํ๋ก๊ทธ๋จ์ Gradle์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.
ํ์ํ ๋๋ง๋ค ์ด๋ฐ ๋๊ตฌ๋ฅผ ์ค์นํ๋ ์ผ์ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ์น ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํด ๋๊ตฌ๋ฅผ ๋ค์ด๋ก๋ ๋ฐ๊ณ ์ด๋์๋ ์คํํ ์ ์๋๋ก PATH ํ๊ฒฝ ๋ณ์์ ํ๋ก๊ทธ๋จ ์ค์น ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ๊ฒ๋ค๊ฐ ํ๋ก์ ํธ์ ๋ฐ๋ผ ๋ค์ํ ๋ฒ์ ์ด ์ฌ์ฉ๋๊ธฐ๋ ํฉ๋๋ค. ๋ฒ์ ์ ๋ฐ๋ผ ๋๊ตฌ์ ๊ธฐ๋ฅ ๋ฑ์ด ๋ฐ๋๊ธฐ๋ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๊ฐ๋ฐ์๋ ์ด๋ค ๋๊ตฌ๋ฅผ ์ด๋์ ์ค์นํ๋์ง ๊ธฐ์ตํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค. ํน์ ๋๊ตฌ์ ๋ฒ์ ์ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์คํํ๋ ค๋ฉด PATH
ํ๊ฒฝ ๋ณ์ ์ญ์ ์ผ์ผ์ด ๋ฐ๊ฟ์ผ ํฉ๋๋ค.
SDKMAN ์ค์นํ๊ธฐ
SDKMAN์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 2012๋ ์ ์ฒ์ ์์๋ ํ๋ก์ ํธ์ ๋๋ค. ์ด ๋๊ตฌ๋ JDK์ ์๋ฐ ๊ฐ๋ฐ ์ํ๊ณ๋ฅผ ์ด๋ฃจ๋ SDK(e.g. Tomcat, Maven, Gradle)๋ค์ ์ค์นํ๊ณ ์ฌ์ฉํ๋๋ฐ ๋์์ ์ค๋๋ค. ๋ค๋ง SDKMAN์ POSIX ์์คํ ์ฉ์ผ๋ก๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์ ๋งํด ๋งฅ๊ณผ ๋ฆฌ๋ ์ค ํ๊ฒฝ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์๋์ฐ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
SDKMAN์ ์ค์น๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํด ์ค์นํฉ๋๋ค.
curl -s "https://get.sdkman.io" | bash
์ค์น๊ฐ ๋๋ ๋ค์, ์ ธ์ ๋ค์ ์์ํ๋ฉด SDKMAN์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. SDKMAN์ ์ฌ์ฉ ๋ช ๋ น์ sdk๋ก ์ด ๋ช ๋ น์์ ์ด๋ค ๊ธฐ๋ฅ์ ์ง์ํ๋์ง ์ดํด๋ณด์๊ธธ ๋ฐ๋๋๋ค.
SDKMAN์ ์ค์นํ๊ณ ๋์ ๊ฐ์ฅ ๋จผ์ ํ ์ผ
SDKMAN์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ ์ ์ค์น๋์ด ์๋ JDK๋ SDK๋ฅผ ์ธ์ํ์ง ๋ชปํฉ๋๋ค. ๋ฐ๋ผ์ ์์คํ ์ ์ค์น๋์ด ์๋ ๋๊ตฌ๋ฅผ ๋ฏธ๋ฆฌ ์ธ์์์ผ์ค์ผ ํฉ๋๋ค. ์ด ๋จ๊ณ๋ฅผ ์๋ตํ๋ฉด SDKMAN์ผ๋ก ์ค์นํ JDK๋ SDK๋ก ์ ํ์ด ์์๋ฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์คํ ์ ์ค์น๋ JDK๋ SDK๊ฐ ์ด๋ค ๊ฒฝ๋ก์ ์์๋์ง ๋ชจ๋ ๊ธฐ์ตํ๊ธฐ๋ ํ๋ค๊ธฐ ๋๋ฌธ์ ์ดํ์ ๋ค์ ๋์๊ฐ๋ ค๊ณ ํด๋ ๋์๊ฐ๊ธฐ ์ฝ์ง ์์ต๋๋ค.
๋ฏธ๋ฆฌ ์ค์นํ JDK์ SDK๋ฅผ SDKMAN์ ์ธ์์ํค๋ ๊ณผ์ ๋ถํฐ ์์ํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ ์๋ฐ๊ฐ ์ด๋ค ๊ฒฝ๋ก์ ์ค์น๋์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ด ๋ฆฌ๋ ์ค๋ ๋งฅ์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด JDK๊ฐ ์ด๋์ ์ค์น๋์ด ์๋์ง ๋ค์ ๋ช ๋ น์ผ๋ก ํ์ธํฉ๋๋ค.
command -v java
.๋ฐ๋น์/์ฐ๋ถํฌ ๋ฆฌ๋
์ค๋ ์คํ ๊ฒฐ๊ณผ๋ก /usr/bin/java
๊ฐ ์ถ๋ ฅ๋ ํ
๋ฐ์, ์ด ๊ฒฝ๋ก๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด ์๋ฉ๋๋ค. ์ด๋ ๊ฒ ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ฐ๋น์/์ฐ๋ถํฌ ๋ฆฌ๋
์ค๊ฐ ๋ช
๋ น์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๊ฑธ์ด์ค ๊ฒ ๋ฟ์
๋๋ค. /usr/bin/java
๊ฐ ์ค์ ์ด๋ค ํ์ผ์ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ ์คํํฉ๋๋ค.
ls -l /usr/bin/javac/etc/alternatives/javac
๋ช
๋ น์ ๊ฒฐ๊ณผ๋ก /etc/alternatives/java
๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ค ์ด ๋งํฌ๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ์
๋๋ค. ๋ฐ๋น์/์ฐ๋ถํฌ ๋ฆฌ๋
์ค๋ ๋์ผํ ํ๋ก๊ทธ๋จ์ ๋ฒ์ ์ด ์ฌ๋ฌ๊ฐ ์ค์น๋๋ ๊ฒ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ฐ๋น์์์ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ด๋ฆฌ ์์คํ
(์ดํ alternatives ์์คํ
)์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ด๋ฆฌ ๋ช
๋ น์ด๋ dpkg ํจํค์ง์์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ root ๊ถํ์ผ๋ก ๋ค์ ๋ช
๋ น์ ์คํํด์ผ ์ค์ ์๋ฐ๊ฐ ์ด๋์ ์ค์น๋์ด ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
update-alternatives --list javac
์๋ฅผ ๋ค์ด ์ปดํจํฐ์ openjdk 8 ๋ฒ์ ์ด ์ค์น๋์ด ์๋ค๋ฉด, ๋ค์ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋ ๊ฒ๋๋ค.
/usr/lib/jvm/java-8-openjdk-amd64/bin/javac
์ฌ๊ธฐ ์ค์น๋ JDK์ ํ ๋๋ ํฐ๋ฆฌ๋ /bin/javac
๋ฅผ ์ ์ธํ ๋๋จธ์ง ๊ฒฝ๋ก์
๋๋ค. ๋งฅ์ alternatvies ์์คํ
์ด ์๊ธฐ ๋๋ฌธ์ command
๋ช
๋ น์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. ๋ฐ๋น์/์ฐ๋ถํฌ ๋ฆฌ๋
์ค๋ ์๋ฐ ์ธ์๋ Ant๋ maven ๋ฑ SDK ์ญ์ ์์คํ
ํจํค์ง๋ก ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์์น๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. Ant์ maven์ ๋ฐ๋น์/์ฐ๋ถํฌ ๋ฆฌ๋
์ค ํ์ ์ผ๋ก /usr/share/ant
, /usr/share/maven
์ ์ค์น๋์ด ์์ต๋๋ค.
.JDK ๋๋ SDK์ ๊ธฐ๋ณธ ์ค์น ๊ฒฝ๋ก๋ฅผ ํ์ธํ์ผ๋ฉด, ์ด๋ฅผ SDKMAN์ ๋ฑ๋กํด์ค๋๋ค. JDK๋ฅผ ๋ฑ๋กํ๋ ๊ฒฝ์ฐ ์๋ ๋ช ๋ น์ด๋ฅผ ์ธ ์ ์์ต๋๋ค.
์ด๋ ์ฌ๋ฌ๋ถ์ด ์ฃผ์ํ๋ฉฐ ์
๋ ฅํ ๋ถ๋ถ์ sdk install java
์ดํ ๋ถ๋ถ์
๋๋ค. system์ด๋ผ๊ณ ํ๊ธฐํ ์์ญ์ SDKMAN์์ ์ฌ์ฉํ ๋ณ์นญ์
๋๋ค. ์ด์ด ๊ฒฝ๋ก ๋ถ๋ถ์ ์๋ฐ๊ฐ ์ด๋ ์ค์น๋์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. ๋ช
๋ น์ ์คํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sdk install java system /usr/lib/jvm/java-8-openjdk-amd64
#
# Linking java system to /usr/lib/jvm/java-8-openjdk-amd64
# Done installing!
Ant๋ Maven๋ ์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฑ๋กํ๋ฉด ๋ฉ๋๋ค.
SDKMAN ์ฌ์ฉํ๊ธฐ
SDKMAN์ ์ฌ์ฉํ๋ ค๋ฉด ์์ ์ค๋ช ํ ๊ฒ๊ณผ ๊ฐ์ด sdk ๋ช ๋ น์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ ธ์์ sdk ๋ช ๋ น์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ ๋ณผ ์ ์์ต๋๋ค.
NAME
sdk - The command line interface (CLI) for SDKMAN!
SYNOPSIS
sdk <subcommand> [candidate] [version]
DESCRIPTION
SDKMAN! is a tool for managing parallel versions of multiple JVM related
Software Development Kits on most Unix based systems. It provides a
convenient Command Line Interface (CLI) and API for installing, switching,
removing and listing Candidates.
SUBCOMMANDS & QUALIFIERS
help [subcommand]
install <candidate> [version] [path]
uninstall <candidate> <version>
list [candidate]
use <candidate> <version>
config no qualifier
default <candidate> [version]
home <candidate> <version>
env [init|install|clear]
current [candidate]
upgrade [candidate]
version no qualifier
offline [enable|disable]
selfupdate [force]
update no qualifier
flush [tmp|metadata|version]
EXAMPLES
sdk install java 17.0.0-tem
sdk help install
์ถ๋ ฅ ๊ฒฐ๊ณผ์ candidate๋ผ๋ ๋จ์ด๊ฐ ์์ฃผ ๋ฑ์ฅํ๋๋ฐ์. ์ด๋ SDKMAN์ ์ฌ์ฉํ ๋, ๋ฐ๋์ ์ต์ํด์ ธ์ผ ํ๋ ๊ฐ๋
์
๋๋ค. ์ฌ๊ธฐ์ candidate๋ SDKMAN์ด ๊ด๋ฆฌํ JDK๋ SDK๋ฅผ ๋งํฉ๋๋ค. ์๋ฐ๋ vert.x๋ฅผ ์ค์นํ๋ค๋ฉด candidate๋ java
, vertx
๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ํ๋ฉ๋๋ค. candidate์ ์ด๋ฆ์ ํ๋ฐ๋ถ์ ์ค๋ช
ํ sdk list
๋ช
๋ น์ ํตํด ํ์ธํ ์ ์์ต๋๋ค. ์ด์ SDKMAN์ ์ฌ์ฉํ ๋ ์์ฃผ ์ฐ๋ ๋ช
๋ น์ด ์ธํธ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
sdk list
sdk list
๋ช
๋ น์ 2๊ฐ์ง ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๊ธฐ๋ฅ์ SDKMAN์์ ์ค์นํ ์ ์๋ candidate ๋ชฉ๋ก์ ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ์
๋๋ค. ๋ ๋ฒ์งธ ๊ธฐ๋ฅ์ candidate ๋ณ๋ก ์ค์นํ ์ ์๋ ๋ฒ์ ๊ณผ ์ค์น ๋ฐ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ํ์ํ๋ ๊ธฐ๋ฅ์
๋๋ค.
SDKMAN์ผ๋ก ์ค์นํ ์ ์๋ candidate ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด sdk list
๋ช
๋ น์ ์ธ์ ์์ด ํธ์ถํ๋ฉด ๋ฉ๋๋ค.
sdk list
#
# ========================================================================
# Available Candidates
# ========================================================================
# q-quit /-search down
# j-down ?-search up
# k-up h-help
#
# ------------------------------------------------------------------------
# Apache ActiveMQ (Classic) (5.17.1) https://activemq.apache.org/
#
# Apache ActiveMQ(r) is a popular open โฆ
#
# $ sdk install activemq
# ... ์ค๋ต
sdk install
๋ค์ ๋์ค๋ ๋ฌธ์์ด์ด candidate์ ์ด๋ฆ์
๋๋ค. ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด, ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ธ โApache ActiveMQโ์ candidate ์ด๋ฆ์ activemq์ธ ๊ฒ์ ์ ์ ์์ต๋๋ค.
sdk list
์ ๋ ๋ฒ์งธ ๊ธฐ๋ฅ์ candidate์ ์ค์น ๊ฐ๋ฅ ๋ฒ์ ๊ณผ ์ค์น ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ์
๋๋ค. ์๋ฅผ ๋ค์ด candidate๊ฐ java๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ช
๋ นํฉ๋๋ค.
์๋ฐ๋ ๋ค์ํ ๋ฒค๋๊ฐ ๊ฐ๋ฐํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์๋์ ์ ์ฌํ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
sdk list java
#
# =======================================================================
# Available Java Versions for Linux 64bit
# =======================================================================
# Vendor | Use | Version | Dist | Status | Identifier
# -----------------------------------------------------------------------
# Corretto | | 22 | amzn | | 22-amzn
# | | 21.0.2 | amzn | | 21.0.2-amzn
# | | 21.0.1 | amzn | | 21.0.1-amzn
# Dragonwell | | 8.0.382 | albba | | 8.0.382-albba
# ... ์๋ต
์ฌ๊ธฐ์์ Identifier
์ด์ ๋์ค๋ ์ด๋ฆ์ด ์๋ฐ์ candidate์
๋๋ค. ๋ค๋ง candidate๊ฐ java์ธ ๊ฒฝ์ฐ, ์ฐ๋ฆฌ๊ฐ ๋ณ๋๋ก ๋ฑ๋กํ candidate ๋ฒ์ ์ ๋์ค์ง ์์ต๋๋ค. ์ด๋ SDKMAN์ ์ฌ์ฉํด ์ค์นํ ์๋ฐ ๋ฒ์ ์ด ์ฌ์ฉํ ์ ์๋์ง ํ์ธํ๋ ค๋ฉด ์ถ๋ ฅ ๊ฒฐ๊ณผ์ Use ์ด๊ณผ Status ์ด์ ๋ณด๋ฉด ๋ฉ๋๋ค.
Corretto | > | 22 | amzn | installed | 22-amzn
JDK๊ฐ ์๋ ๋ค๋ฅธ Candidate๋ sdk list ๋ช ๋ น์ผ๋ก ์ด์ ๋น์ทํ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
sdk list ant
#
# =======================================================================
# Available Ant Versions
# =======================================================================
# * 1.10.13 1.9.14
# 1.10.12 1.9.13
# 1.10.11 1.9.12
# 1.10.10 1.9.11
# 1.10.9 1.9.10
# 1.10.8 1.9.9
# 1.10.7 1.9.8
# 1.10.6 1.9.7
# 1.10.5 > + system
# 1.10.4
# 1.10.3
# 1.10.2
# 1.10.1
# 1.10.0
# 1.9.15
#
# =======================================================================
# + - local version
# * - installed
# > - currently in use
# =======================================================================
์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ๊น์? SDKMAN์ ์ฌ์ฉํด ์ค์นํ ์ ์๋ candidate ๋ฒ์ , ํด๋น ๋ฒ์ ์ ์ค์น ์ฌ๋ถ, ๋ก์ปฌ ์ปดํจํฐ์ ์๋ ๋ฒ์ ์ธ์ง ์ฌ๋ถ, ์ฌ์ฉ ์ค์ธ ๋ฒ์ ์ธ์ง ๋ฑ์ ํ์ธํ๋ ๊ธฐํธ๊ฐ ๋์ต๋๋ค. ์ด ๊ธฐํธ์ ๋ฒ๋ก๋ ์ถ๋ ฅ ๊ฒฐ๊ณผ ์๋์์ ํ์ธํ ์ ์์ต๋๋ค.
sdk install
sdk install
๋ candidate๋ฅผ ์ค์นํ๋ ๋ช
๋ น์
๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๋ช
๋ น์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sdk install [candidate] [version]
์์์ ์์๋ก ๋ณธ ์๋ฐ ๋ฒ์ ์ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค. ๋ค์ ๋ช ๋ น์ ์คํํ๋ฉด ๋ฉ๋๋ค.
sdk install java 22-amzn
JDK๊ฐ ์๋ SDK๋ผ๋ฉด, candidate ์ด๋ฆ ๋ค์ ๋ฒ์ ๋ช ์ ์จ์ฃผ๋ฉด ๋ฉ๋๋ค. sdk instal ๋ช ๋ น์ ํน๋ณํ ๋ก์ปฌ ์ปดํจํฐ์ ์ค์น๋์ด ์๋ candiate๋ฅผ ์ถ๊ฐํด์ค ์ ์๋๋ฐ ์ด ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ช ๋ น์ ์คํํฉ๋๋ค.
sdk install [candidate] [version ๋ณ์นญ] [candidate local home]
๋ก์ปฌ ์ปดํจํฐ์ ์ค์น๋์ด ์๋ candidate๋ฅผ ์ค์นํ ๋ ๋ฒ์ ์ ๋ณ์นญ์ system์ผ๋ก ํ๋ฉด ๋์ค์ ๊ธฐ์ตํ๊ธฐ ํธํฉ๋๋ค. candidate local home์ ํ๋ก๊ทธ๋จ์ ํ ๋๋ ํฐ๋ฆฌ๋ก โ/bin/command
โ๊ฐ ์๋ ๋๋ ํฐ๋ฆฌ๋ผ๊ณ ์ดํดํ๋ฉด ๋ฉ๋๋ค.
sdk uninstall
sdk uninstall
์ ์ด๋ฏธ ์ค์น๋์ด ์๋ candidate๋ฅผ ์ปดํจํฐ์์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. ๋ช
๋ น ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sdk uninstall [candidate] [version]
์๋ฅผ ๋ค์ด ์๋ฐ ๋ฒ์ ์ค Corretto์์ ๋ฐฐํฌ๋ 22๋ฒ์ ์ JDK๋ฅผ ์ ๊ฑฐํด๋ณด๊ฒ ์ต๋๋ค. ์๋์ ๊ฐ์ด ๋ช ๋ น์ ์คํํฉ๋๋ค.
sdk uninstall java 22-amzn
sdk uninstall ๋ช ๋ น์ ์ฐ๋ฆฌ๊ฐ ๋ก์ปฌ ์ปดํจํฐ์ ์ค์นํ๋ ๋ฒ์ ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ์ค์นํ candidate ๋ฒ์ ์ ์ง์ฐ๋ฉด, ํ ๊ฒฝ๋ก๊ฐ ๊ธฐ์ต๋์ง ์์ ์ ์์ผ๋ ์ฃผ์ํ์๊ธธ ๋ฐ๋๋๋ค.
sdk use
sdk use
๋ช
๋ น์ ์ฐ๋ฆฌ๊ฐ ์
ธ์ ์คํํ๋ ๋์ ์ฌ์ฉํ candidate ๋ฒ์ ์ ์ง์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ๋ช
๋ น์ด์ ๊ธฐ๋ณธ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sdk use [candidate] [version]
์๋ฅผ ๋ค์ด Ant์ 1.10.13๊ณผ โsystemโ ๋ฒ์ ์ด ์ค์น๋์ด ์๋ค๋ฉด, ์ด๋ฐ ๋ช ๋ น์ ์ฌ์ฉํฉ๋๋ค.
sdk use ant 1.10.13
์ด ๋ช ๋ น์ ์คํํ ๋ค์ Ant ๋ช ๋ น์ ์คํํ๋ฉด, ํญ์ 1.10.13 ๋ฒ์ ์ด ์คํ๋ ๊ฒ๋๋ค. ๋์ค์ โsystemโ ๋ฒ์ ์ ์คํํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํํฉ๋๋ค.
sdk use ant system
sdk default
sdk default
๋ช
๋ น์ ์ฐ๋ฆฌ๊ฐ ์
ธ์ ์คํํ๋ ๋์ sdk use
๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ candidate ๋ฒ์ ์ ์ง์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ๋ช
๋ น์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sdk default [candidate] [version]
์๋ฅผ ๋ค์ด Ant๋ฅผ ์ ธ์์ ์ ๋ ฅํ์ ๋, ํญ์ 1.10.13์ ์ฌ์ฉํ๊ฒ ๋ค๊ณ ํ๋ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
sdk default ant 1.10.13
ํน์ candidate์ ๋ํ ๊ธฐ์ค ๋ฒ์ ์ด ์๋ค๋ฉด SDKMAN ๋ช ๋ น ์คํ์ด ์คํจํ ์๋ ์์ต๋๋ค.
sdk current
๋ง์ง๋ง ์ฃผ์ ๊ธฐ๋ฅ์
๋๋ค. sdk current
๋ ์ฐ๋ฆฌ๊ฐ ์
ธ์์ ์ฌ์ฉํ๊ณ ์๋ candidate์ ๋ฒ์ ์ด ๋ฌด์์ธ์ง ์ถ๋ ฅํด ์ค๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น ํ์์ ์ฌ์ฉํฉ๋๋ค.
sdk current [candidate]
์๋ฅผ ๋ค์ด ์ด๋ค Ant ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
sdk current ant
SDKMAN๋ฅผ ์๋์ฐ์์ ์ฌ์ฉํ ์ ์์๊น?
์ง๊ธ๊น์ง ์ดํด๋ณธ ๊ฒ์ฒ๋ผ, SDKMAN์ ์๋ฐ์ ์๋ฐ ๊ฐ๋ฐ ์ํ๊ณ ํ์ ์ผ๋ก ํธ๋ฆฌํ ๊ฐ๋ฐ์ ๋๋ ์ ๋ง ๋ฉ์ง ๋๊ตฌ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ์ง๋ง SDKMAN์๋ ์น๋ช
์ ์ธ ๋จ์ ์ด ์์ต๋๋ค. SDKMAN ์ค์นํ๊ธฐ ๋ถ๋ถ์ ์ธ๊ธํ ๋ด์ฉ์ธ๋ฐ์, ๋ฐ๋ก ์๋์ฐ์์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์๋์ฐ์์ ์ฌ์ฉํ ์ ์๋ ๋ฒ์ ์ด ์๋ pyenv
์ ๋ค๋ฅด๊ฒ ๋ง์
๋๋ค.
์ด๋ฐ ์ด๋ ค์์๋ ๋ถ๊ตฌํ๊ณ ์๋์ฐ์์ SDKMAN์ ์ฐ๋ ค๋ฉด ๋ฐฉ๋ฒ์ด ์์ ์์ง๋ ์์ต๋๋ค. WSL ์์ SDKMAN์ ์ค์นํ๊ณ ์ฌ์ฉํ๊ฑฐ๋ Git์ด ์ค์น๋์ด ์๋ค๋ฉด Git Bash ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Git Bash ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ค์น ๊ณผ์ ๊ณผ ์ฌ์ฉ ๊ณผ์ ์ด ์ข ๋ ๋ณต์กํด์ง๋ฏ๋ก ์ถ์ฒํ์ง ์์ต๋๋ค.
๋ค๋ง WSL์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋์ฐ์ ์ค์น๋์ด ์๋ ์๋ฐ IDE๊ฐ WSL์ ์๋ ์๋ฐ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํด์ผ ํฉ๋๋ค. WSL์ ์๋ ์๋ฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ IDE๋ IntelliJ IDEA Professional ๋ฒ์ ๋ฟ์ ๋๋ค. ๋ฐ๋ผ์ Eclipse๋ ์ต๊ทผ ๋ง์ด ์ฐ์ด๋ Visual Studio Code์์์ ๋์ ์ฌ๋ถ๋ ํ์คํ๊ฒ ๋งํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๋ง์น๋ฉฐ
์ด๋ฒ ๊ธ์์๋ ์๋ฐ ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ SDKMAN์ ์ดํด๋ดค์ต๋๋ค. JDK๋ ์๋ฐ ๊ธฐ๋ฐ์ SDK ๋ฒ์ ๊ด๋ฆฌ์ ์ด๋ ค์์ ๊ฒช๋ ๋ถ๋ค์๊ฒ SDKMAN์ด ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.