eclipse๋ก jar ํ์ผ ์คํํ๊ธฐ
์ด๋ฒ์ eclipse๋ก jar ํ์ผ์ ์์ฑํด์ ํฐ๋ฏธ๋์์ ์คํํด๋ณด๋ ์ค์ต์ ํ๋ค.
์ฐ์ ์ธํ ๋ฆฌ์ ์ด์ ์ดํด๋ฆฝ์ค ๋ ๋ค ๋์๊ฐ๋ ์ฝ๋
https://github.com/jasonpark112/eclipse-jar-libraryprogram
GitHub - jasonpark112/eclipse-jar-libraryprogram
Contribute to jasonpark112/eclipse-jar-libraryprogram development by creating an account on GitHub.
github.com
์ฌ๊ธฐ์ ์ฐพ์ ๋ณผ ์ ์๋ค ..
๊ธฐ๋ฅ์
์ด๋ ๊ฒ ์๋ํ ์๊ฐ ์๋ค. ๋ง์ฝ ์ ๋ชป๋ ๊ฐ์ ์ ๋ ฅํ๋ฉด ์ฌ๊ทํจ์๋ฅผ ํตํด ๋ค์ ์ฌ์ ๋ ฅํ๊ฒ ํด๋จ๋ค.
์ด์ ์ด๋ฅผ eclipse์์ jarํ์ผ์ ๋ง๋ค์ด ์คํํ๋๋ฐ, ๊ณ์ํด์
์ด๋ ๊ฒ ํ์ผ์ ๋ชป ์ฝ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๋๋์ฒด ์์ธ์ด ๋ญ๊น ํด์ ์ฐพ์ ๋ณธ ๊ฒฐ๊ณผ,
๋ฆฌ์์ค ํ์ผ์ JAR์ ํฌํจ: Files.readAllLines ๋ฉ์๋๋ ํ์ผ ์์คํ ์์ ์ง์ ํ์ผ์ ์ฝ์ต๋๋ค. ๋ง์ฝ ํ์ผ์ด JAR ๋ด๋ถ์ ์๋ค๋ฉด, ์ผ๋ฐ ํ์ผ ์์คํ ๊ฒฝ๋ก๋ก๋ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ํด๋์ค ๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ์ฝ์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, getClass().getResourceAsStream("/fileName")์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
JAR ํ์ผ ํ๊ฒฝ (๋ฐฐํฌ ์)
- ๋ด๋ถ ๊ตฌ์กฐ ์ ๊ทผ: JAR ํ์ผ ๋ด์์๋ ํ์ผ ์์คํ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค. JAR ํ์ผ์ ์์ถ๋ ์์นด์ด๋ธ์ด๋ฉฐ, ํ์ผ ์์คํ ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ํด๋์ค ๋ก๋์ ๋์: JAR ํ์ผ ๋ด์์ ํด๋์ค ๋ก๋๋ JAR ์์นด์ด๋ธ ๋ด์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ฐพ์ต๋๋ค. ์๋ฅผ ๋ค์ด, resources/books.txt๋ JAR ๋ด๋ถ์ ๊ฒฝ๋ก์ ๋๋ค. ์ดํด๋ฆฝ์ค์์์ ๋ฌ๋ฆฌ, JAR ๋ด๋ถ์์๋ src/main/resources ๊ฒฝ๋ก๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.
Files.readAllLines(path) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ๋ Path ๊ฐ์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ผ ์์คํ ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํ์ผ ์์คํ ์ ์ง์ ์ ๊ทผํ ์ ์๋ ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๊ฐ๋ฐ ํ๊ฒฝ(์: ์ดํด๋ฆฝ์ค)์์๋ ์ ์๋ํฉ๋๋ค.
๊ทธ๋ฌ๋, JAR ํ์ผ ๋ด๋ถ์์๋ ์ด ๋ฐฉ์์ด ์๋ํ์ง ์์ต๋๋ค. JAR ํ์ผ์ ์์ถ๋ ์์นด์ด๋ธ ํํ๋ก, ์ ํต์ ์ธ ํ์ผ ์์คํ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด์ง ์์ต๋๋ค. ๋ฐ๋ผ์, Files.readAllLines(path)์ ๊ฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ JAR ํ์ผ ๋ด๋ถ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ค๊ณ ํ๋ฉด FileNotFoundException ๋๋ ์ ์ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
JAR ํ์ผ ๋ด๋ถ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค:
์ฆ, ํต์ฌ์
try (InputStream is = getClass().getClassLoader().getResourceAsStream("resources/" + fileName)) {
if (is == null) {
System.out.println("Failed to load resource: " + fileName);
return list;
}
์ด๊ณ ,
์ดํด๋ฆฝ์ค๊ฐ ํ์ผ์ ์ฝ๋ ๋ฐฉ๋ฒ๊ณผ JAR์ด ํ์ผ์ ์ฝ๋ ๋ฐฉ์์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ ์ฒด์ ์ผ๋ก ์ดํด๋ ํ ์ ์์ง๋ง, ์ ๋๋ก ๋ค์ ๊ณต๋ถ๋ฅผ ํด๋ณผ ํ์๊ฐ ์์ ๊ฒ ๊ฐ๋ค !
์ดํ jar์ ์ํ ์ฝ๋๋
https://github.com/jasonpark112/eclipse-jar-libraryprogram-2-
GitHub - jasonpark112/eclipse-jar-libraryprogram-2-
Contribute to jasonpark112/eclipse-jar-libraryprogram-2- development by creating an account on GitHub.
github.com
์ฌ๊ธฐ์์ ์ฐพ์ ์ ์๊ณ , ์ดํด๋ฆฝ์ค์์๋ ํ์ผ์ ์ฐพ์ ์ ์๋ค๊ณ ํ์ง๋ง, jar ์ด ํ์ผ์ ์ฐพ๋ ๋ฐฉ์์์๋ ์ด ์ฝ๋๊ฐ ๋์๊ฐ๋ค.
์ด๋ฒ ๊ณ๊ธฐ๋ก ๊ฒฝ๋ก์ ๋ํ ์ดํด๋๋ฅผ ๋์ผ ํ์๊ฐ ์์์ ์์๋ค.
'๊ฐ๋ฐ ์ง์, ์คํฌ๋ฆฝํธ > Java ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming) (1) | 2024.01.07 |
---|---|
ํด๋์ค์ ์๋ฃ๊ตฌ์กฐ (1) | 2024.01.07 |
์ ๊ท์ ํํ (1) | 2023.12.03 |
10-1 ์์ธ์ฒ๋ฆฌ(์์ธ ํด๋์ค) (0) | 2023.10.27 |
9-2์ค์ฒฉ ํด๋์ค์ ์ค์ฒฉ ์ธํฐํ์ด์ค(์ต๋ช ๊ฐ์ฒด) (0) | 2023.10.19 |
๋๊ธ