1. ๊ฐ์
์ด๊ธ์ ์ดํด๋ฆฝ์ค ํ๋ก์ ํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ๊ณผ "cannot be resolved to a type" ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ดํด๋ฆฝ์ค๋ ์๋ฐ ๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)๋ก, ํ๋ก์ ํธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ฝ๋ ์์ฑ๊ณผ ๋๋ฒ๊น ์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ํ์ง๋ง ๋๋ก๋ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์์๋ ๋ถ๊ตฌํ๊ณ "cannot be resolved to a type" ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด ์ค๋ฅ์ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ์์๋ ํจ๊ป ์ ์ํ ๊ฒ์ ๋๋ค.
(์ด์ด์ง๋ ํญ๋ชฉ๋ค์ h2๋ก ์์ํฉ๋๋ค.)
2. ์ดํด๋ฆฝ์ค ํ๋ก์ ํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐํ๊ธฐ
์ดํด๋ฆฝ์ค ํ๋ก์ ํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํ๋ก์ ํธ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ์ฌ "Build Path" ๋๋ "Properties"๋ฅผ ์ ํํฉ๋๋ค.
- "Java Build Path"๋ฅผ ํด๋ฆญํฉ๋๋ค.
- "Libraries" ํญ์ ์ ํํ์ฌ, "Add Library" ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ์ถ๊ฐํ๋ ค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ข ๋ฅ๋ฅผ ์ ํํ๊ณ ํ์ธ์ ํด๋ฆญํฉ๋๋ค.
- "JARs" ๋๋ "External JARs"๋ฅผ ์ ํํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
- "Finish" ๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํฉ๋๋ค.
์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ก์ ํธ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ์ ์งํํ ์ ์์ต๋๋ค.
3. "cannot be resolved to a type" ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
"cannot be resolved to a type" ์ค๋ฅ๋ ์ดํด๋ฆฝ์ค์์ ํด๋น ํ์ ์ ์ฐพ์ง ๋ชปํด์ ๋ฐ์ํฉ๋๋ค. ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์๋ํด ๋ณผ ์ ์์ต๋๋ค:
ํ๋ก์ ํธ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฐธ์กฐํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
- "Build Path" ์ค์ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ถ๊ฐ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ๋ก์ ํธ์
Referenced Libraries
์ ๋ํ๋๋์ง ํ์ธํฉ๋๋ค. ๋ง์ฝ ๋ํ๋์ง ์๋๋ค๋ฉด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด ์ฃผ์ด์ผ ํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํฉ๋๋ค.
- ์ดํด๋ฆฝ์ค์์๋ ๋น๋ ๊ณผ์ ์์ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ํ์ธํ๊ณ ํด๋์ค ํ์ผ์ ์์ฑํฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํ์ฌ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
Project
๋ฉ๋ด์์Clean
์ ์ ํํ์ฌ ํ๋ก์ ํธ๋ฅผ clean ํด์ค๋๋ค.
์ดํด๋ฆฝ์ค IDE๋ฅผ ์ฌ์์ํฉ๋๋ค.
- ์ดํด๋ฆฝ์ค๋ ๋๋ก๋ ๋น๋๋ ํด๋์ค ์ ๋ณด๋ฅผ ์๋ชป ์ ์ฅํ๋ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ฏ๋ก, IDE๋ฅผ ์ฌ์์ํ์ฌ ์ด์ ์ ๋ณด๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ด ํธํ๋์ง ์๋ ๊ฒฝ์ฐ ํ์ธํฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ต์ ๋ฒ์ ์ธ ๊ฒฝ์ฐ, JDK ๋ฒ์ ๊ณผ ํธํ๋๋์ง ํ์ธํฉ๋๋ค.
- JDK ๋ฒ์ ์ด ๋ฎ์ ๊ฒฝ์ฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํด๋น JDK ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฒ์ ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ ์๋ ์์ต๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ถ๊ฐ๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๋ค์ ํ ๋ฒ ํ์ธํ๊ณ , ํ์ผ์ด ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค.
- ํ์ผ์ ์ด๋ฆ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅ๋์๋์ง, ํ์ผ ํ์ฅ์๊ฐ ์๋ชป๋์ง ์์๋์ง ํ์ธํฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ์๋ํด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ง ์์์ ์๋ ์์ผ๋ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ ์ค๋ช ์๋ ์์ ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
4. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐํ๊ธฐ ์์
์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ดํด๋ฆฝ์ค ํ๋ก์ ํธ์ ์ถ๊ฐํ๋ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๋๋ JUnit ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ๋ก์ ํธ์ ์ถ๊ฐํ๋ ๋จ๊ณ๋ณ ์์์ ๋๋ค:
- ํ๋ก์ ํธ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ์ฌ "Build Path" ๋๋ "Properties"๋ฅผ ์ ํํฉ๋๋ค.
- "Java Build Path"๋ฅผ ํด๋ฆญํฉ๋๋ค.
- "Libraries" ํญ์ ์ ํํ์ฌ, "Add Library" ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- "JUnit"์ ์ ํํ๊ณ ํ์ธ์ ํด๋ฆญํฉ๋๋ค.
- "JUnit library version"์์ ์ํ๋ ๋ฒ์ ์ ์ ํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ต์ ๋ฒ์ ์ด ์ ํ๋์ด ์์ต๋๋ค.
- "JUnit library location"์์ ์ํ๋ ์์น์ JUnit ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ ์ ํํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ๋ด์ฅ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํฉ๋๋ค.
- ๋ง์ฝ ๋ด์ฅ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ค๋ฉด, "JUnit library version"์ "Custom Library"๋ก ์ค์ ํ๊ณ ์ธ๋ถ JAR ํ์ผ์ ์ ํํ ์๋ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, "External JARs" ๋ฒํผ์ ํด๋ฆญํ์ฌ JUnit JAR ํ์ผ์ ์ ํํฉ๋๋ค.
- "Finish" ๋ฒํผ์ ํด๋ฆญํ์ฌ JUnit ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
- ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํฉ๋๋ค.
์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผํ๋ฉด JUnit ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ดํด๋ฆฝ์ค ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค. ์ด์ JUnit ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์คํํ ์ ์์ต๋๋ค.
5. ๋ง๋ฌด๋ฆฌํ๊ณ
์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๋ฅ "cannot be resolved to a type"์ ๋ํด ์๊ฒ ๋์๊ณ , ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ์ดํด๋ฆฝ์ค์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ถ๊ฐํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ์ฌ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ด์ ํจ๊ป ๋ช ๊ฐ์ง ๊ธฐ๋ณธ์ ์ธ ํ๋ ๊ธฐ์ตํด ๋์ธ์:
- ํ๋ก์ ํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ์ ํ์ธํ๊ณ , ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ช ์๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ด ์ ํํ์ง ํ์ธํฉ๋๋ค.
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํธํ์ฑ์ ํ์ธํ๊ณ , ํ์ํ JDK ๋ฒ์ ์ ๋ง๋ ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
๋ํ, ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ ๋ค์ด๋ก๋ํ๋ ๊ฒ ์ธ์๋ Maven ๊ฐ์ ์์กด์ฑ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ์ ์๋์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค. Maven์ ์ฌ์ฉํ๋ฉด ์์กด์ฑ ๊ด๋ฆฌ๊ฐ ํจ์ฌ ํธ๋ฆฌํด์ง๋ฉฐ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ๋ฐ์ดํธ์ ์ถฉ๋ ๋ฑ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด ์ค ์ ์์ต๋๋ค.
์ด์ ์ด๋ฌํ ํ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ์ฉํ์ฌ ํ๋ก์ ํธ์์ "cannot be resolved to a type" ์ค๋ฅ๋ฅผ ์ ์ํ๊ณ ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ ์ ์์ ๊ฒ์ ๋๋ค. ์ค๋ฅ๊ฐ ๊ณ์๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ด๋ จ๋ ๋ฌธ์์ ์์ค ์ฝ๋๋ฅผ ํ์ธํ๊ณ , ์จ๋ผ์ธ ์ปค๋ฎค๋ํฐ๋ ํฌ๋ผ์ ์ง๋ฌธ์ ์ฌ๋ฆด ์๋ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์์ ๋ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ ์ฑ์ฅํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๋๊ธ