[How To] classNotFoundException ์ค๋ฅ ํด๊ฒฐ
Updated:
-
classNotFoundException ์ค๋ฅ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ์ค์ต์ ํ๋ ๋์ค classNotFoundException ์ค๋ฅ๊ฐ ์๊ฒผ๋ค.
๊ทธ๋ฐ๋ฐ ์ด ์ค๋ฅ๊ฐ ์๊ฒผ์ง๋ง ?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์ถ๋ ฅ๊น์ง ๋ค ๋๋ค.
๊ต์ฅํ ๊ต์ฅํ ์ฐ์ฐํ ์ํฉ์ด๋ค..
์๋ฌ๋ ๋์ค๋๋ฐ ์คํ์ ๋ ์๋๋ค..
ํ์ง๋ง ๋ถ๋ถ์ ์ผ๋ก ์คํ์ด ์๋๋ ๊ณณ์ด ์์๋ค.
try { /* ๋๋ผ์ด๋ฒ๋ฅผ ์ฐพ๋ ๊ณผ์ */ Class.forName("com.mysql.cj.jdbc.Driver"); System.out.println("๋๋ผ์ด๋ฒ ๋ก๋ ์ฑ๊ณต"); } catch (ClassNotFoundException e) { e.printStackTrace(); }
์ฐ๋ ์ฝ๋ ์ผ๋ถ๋ถ์ด๋ค.
์์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์๊ฒ ์ง๋ง โ๋๋ผ์ด๋ฒ ๋ก๋ ์ฑ๊ณตโ ์ถ๋ ฅ์ด ๋์ง ์์๋ค.
๊ทธ๋์ ์ด์ฌํ ๊ตฌ๊ธ ๊ฒ์์ ํด๋ณธ ๊ฒฐ๊ณผ ์ผ๋จ Class.forName์ ์๋ฌ๊ฐ ๋ง๋ค๊ณ ํ๋ค.
์ฐธ์กฐํด์ผ ํ jar ํ์ผ์ด ์๋๊ฒฝ์ฐ ์๊ธด๋ค๊ณ ํ๋๋ฐ ๋๋ ์ปค๋ฅํฐ ๊น์ง ์ ๋ถ ์ฐ๊ฒฐ ๋์ด์์๋ค.
๊ทธ๋ ๊ฒ ๊ณ์ ๊ฒ์์ ํ๋์ค ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๋์ Class.forName ์์ ์ธ์๊ฐ ์กฐ๊ธ ๋ค๋ฅธ๊ฒ ๋ณด์๋ค.
try { /* ๋๋ผ์ด๋ฒ๋ฅผ ์ฐพ๋ ๊ณผ์ */ Class.forName("com.mysql.jdbc.Driver"); System.out.println("๋๋ผ์ด๋ฒ ๋ก๋ ์ฑ๊ณต"); } catch (ClassNotFoundException e) { e.printStackTrace(); }
๋ฌด์์ด ๋ฐ๋์๋์ง ์๊ฒ ๋๊ฐ ?!?!
โcom.mysql.cj.jdbc.Driverโ ์์ โcom.mysql.jdbc.Driverโ ๋ก ๋ฐ๋์๋ค.
.cj ๊ฐ ์ฌ๋ผ์ง ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ ํด ๋ณด๋ ๋๋ผ์ด๋ฒ ๋ก๋ ์ฑ๊ณต๋ ์ถ๋ ฅ๋๊ณ ์์ฃผ ์ ์์ ์ผ๋ก ์๋ํ๋ค.
-
๊ฒฐ๋ก
์์ง ์ด์ ๋ ๋ชจ๋ฅธ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ์ค์ต์ ํ๋ ๋์ค ๋ด๊ฐ ๊ณต๋ถํ๋ ์ฑ ์์ ์ฃผ์ด์ง ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ๊ทธ๋๋ก ์ค์ต ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ผ๋จ ํด๊ฒฐ์ ํ์ผ๋ ์ค์ต์ ์ด์ด๊ฐ๊ฒ ์ง๋ง
์ผ๋ฅธ ์ด์ ๋ฅผ ์์์ ์ฑ์ ๋ฃ๊ฒ ๋ค !
-
์ถ๊ฐ 20.04.14
๋ฌด๋ ค 2์ฃผ๋ง์ ์ด์ ๋ฅผ ์๊ฒ ๋์๋ค.
์๋์ฐ๋ฅผ ์ฌ์ฉ ์ค์ธ ๋ฐ์คํฌํ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถ์ ํด๋์๋ค.
๊ทธ๋ฐ๋ฐ ์ ์ฝ๋๋ฅผ ๋ฐ์คํฌํ์์ ์คํ ํด ๋ณธ ๊ฒฐ๊ณผ
Class.forName(โcom.mysql.cj.jdbc.Driverโ); ๋ฅผ ์ฌ์ฉํด์ผ์ง ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์๋ค.
๊ทธ๋์ ์ฒ์์ ๋จ์ํ OS ์ฐจ์ด์ธ์ค ์์๋ค.
๋งฅ๋ถ์์ cj๋ฅผ ๋นผ์ผ ์ ์์ ์ผ๋ก ๋์๊ฐ์ผ๋๊น !
๊ทธ๋ฐ๋ฐ ์๋ฌด๋ฆฌ ์๊ฐํด๋ OS ์ฐจ์ด ๋๋ฌธ์ ๋ฐ์ํ ์ค๋ฅ๋ผ๋ฉด
์๋ก ๋ค๋ฅธ OS๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋ ๋ผ๋ฆฌ ๊ฐ์ด ๊ฐ๋ฐ์ ํ๋ ๊ฒฝ์ฐ ์ ์ฝ๋๋ฅผ ์ผ์ผํ ๋ฐ๊ฟ์ค์ผ ํ๋ค๋ ๋ป์ด ๋๋ค.
์ ๋ ๋ง์ด ์๋๋ค๊ณ ์๊ฐํด ๊ตฌ๊ธ๋ง ํด ๋ณธ ๊ฒฐ๊ณผ..
๊ต์ฅํ ํ๋ฌดํ๋ค ๊ทธ๋ฅ JDBC ๋ฒ์ ์ฐจ์ด์๋ค.
์ฒ์ JDBC ์ฐ๋ ํ ๋๋ ๊ตฌ๊ธ๋ง์ ํตํด ์ฐ๋ํ๋๋ฐ ์์ฃผ ์๋ ๊ธ์ ๋ณด๊ณ ํ๋๊ฐ๋ณด๋ค..
๋งฅ์๋ connector 5 ๋ฒ์ ์ด ๊น๋ ค์์๋ค.. ์ง๊ธ์ 8 ๋ฒ์ ์ธ๋ฐ ๋ง์ด๋ค !
๊ทธ๋์ 8 ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํด์ฃผ๋ ๋ฐ๋ก ํด๊ฒฐ๋์๋ค.
Class.forName(โcom.mysql.cj.jdbc.Driverโ); .cj๋ฅผ ๋ถ์ฌ์ฃผ์ !
์ถ๊ฐ๋ก ํน์ ์๋ฐ ๋ฒ์ ์ด์์์๋ Class.forName์ ์ฌ์ฉํ์ง ์์๋ ์๋์ผ๋ก ์ฐ๊ฒฐํด์ค๋ค๋๋ฐ
๊ทธ๊ฑด ๋์ค์..
Leave a comment