1. JAR ํ์ผ Export
์ ์์ ํ๋ก์ ํธ์ JarExample ๋ชจ๋์ jar ํ์ผ๋ก export ํ๋ คํ๋ค. IntelliJ๋ ํ ํ๋ก์ ํธ ์์ ๋ค์์ ๋ชจ๋์ ๊ฐ์ง ์ ์๋ค. ์ง๊ธ์ ํ๋์ ๋ชจ๋๋ง์ ๊ฐ๊ณ ์๋ ์ํ์ด๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Player{name='Tim', hitPoints=10, strength=15, weapon='Sword'}
Saving Tim to storage device
Saving 10 to storage device
Saving 15 to storage device
Saving Sword to storage device
Player{name='Tim', hitPoints=8, strength=15, weapon='Sword'}
Saving Tim to storage device
Saving 8 to storage device
Saving 15 to storage device
Saving Stormbringer to storage device
Player{name='Tim', hitPoints=8, strength=15, weapon='Stormbringer'}
Strength = 40
Saving Werewolf to storage device
Saving 20 to storage device
Saving 40 to storage device
Process finished with exit code 0
|
cs |
์ฐ์ ์ด ํ๋ก์ ํธ๋ main() ์คํ ์ ์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์จ๋ค. ์คํ ๊ฒฐ๊ณผ์ ์๋ฏธ๊ฐ ์๋๊ฑด ์๋๊ณ ์ด ํ๋ก์ ํธ๋ฅผ jar ํ์ผ๋ก export ํ ๋ค ๋ค๋ฅธ ํ๋ก์ ํธ์ import ํ์ ๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง ํ์ธํ ๊ฒ์ด๋ค.
๋ชจ๋์ ์ ํํ๊ณ (์ฌ๊ธฐ์๋ JarExample) File - Project Structure ๋ฉ๋ด (๋จ์ถํค : Ctrl + Alt + Shift + S) ํด๋ฆญ
์ข์ธก ํจ๋์์ Artifacts๋ฅผ ํด๋ฆญํ๊ณ artifact๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์ฐ์ธก +(Add) ๋ฒํผ ํด๋ฆญ(๋จ์ถํค : Alt + Insert)
JAR - From modules with dependencies... ํด๋ฆญ
JAR๋ java archive๋ฅผ ์๋ฏธํ๋ฉฐ, java ์ฝ๋์ zip ํ์ผ๊ณผ ์ ์ฌํ ๊ฐ๋ ์ด๋ค.
Module ๋์ ์ ํํ ๋ชจ๋ ๋ช ์ธ JarExample์ด ์๋์ผ๋ก ์ ๋ ฅ๋๋ค. Executable(์คํ ๊ฐ๋ฅํ) JAR ํ์ผ์ ๋ง๋ค๋ ค๋ฉด Main Class๋ฅผ ๋ช ์ํด์ผ ํ์ง๋ง ์ง๊ธ์ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉํ JAR ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด ๊ณต๋์ผ๋ก ๋๋ค. JAR files from libraries๋ extract to the target JAR(๊ธฐ๋ณธ๊ฐ)์ ์ ํํ๊ณ OK๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ฌ๋ฉด ์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ค. Output directory ๋์ JAR ํ์ผ์ ๋ง๋ค ๋๋ ํ ๋ฆฌ๊ฐ ์๋์ผ๋ก ์ ๋ ฅ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ํ์์ out\artifacts\๋ชจ๋๋ช _jar ํด๋๊ฐ ์ ๋ ฅ๋๋ค. ํ์ ์ ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ๋ก ๋ณ๊ฒฝํ๊ณ OK๋ฅผ ํด๋ฆญํ๋ค.
Build - Build Project๋ฅผ ํด๋ฆญํ์ฌ ๋น๋ํ๋ค. (๋จ์ถํค : Ctrl + F9)
๋น๋๊ฐ ์ ์์ ์ผ๋ก ๋๋๋ฉด Build - Build Artifacts๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ฌ๋ฉด IntelliJ ์ฐฝ ๊ฐ์ด๋ฐ์ Build Artifact ์๋ธ ๋ฉ๋ด๊ฐ ๋ฌ๋ค. JarExample:jar - Build๋ฅผ ํด๋ฆญํ๋ค.
์ฌ๊ธฐ๊น์ง ์๋ฃํ๋ฉด ํด๋น ๋ชจ๋์ JAR ํ์ผ์ด ์์ฑ๋๋ค.
2. JAR ํ์ผ Import
์์์ ์์ฑํ JAR ํ์ผ์ ์ด AnotherJarExample ํ๋ก์ ํธ์ importํ์ฌ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ถ๊ฐํ๋ค. ๋น ํ๋ก์ ํธ์ด๋ฉฐ, ํ์ฌ๋ External Libraries์ JDK๋ง ์กด์ฌํ๋ค.
File - Project Structure ํด๋ฆญ
์ผ์ชฝ ํจ๋์์ Libraries๋ฅผ ํด๋ฆญํ๊ณ ์ฐ์ธก +(Add)๋ฅผ ํด๋ฆญํ๋ฉด ์์ ๊ฐ์ ์๋ธ ๋ฉ๋ด๊ฐ ๋ฌ๋ค. New Project Libarary์์ Java๋ฅผ ์ ํํ๋ค.
importํ JAR ํ์ผ์ ์ ํํ๊ณ OK๋ฅผ ํด๋ฆญํ๋ค. ์ฌ๊ธฐ์๋ ์์์ ๋ง๋ JarExample.jar ํ์ผ์ ์ ํํ์๋ค.
JAR ํ์ผ์ importํ ๋ชจ๋์ ์ ํํ๊ณ OK๋ฅผ ํด๋ฆญํ๋ค. ์ด ์์ ํ๋ก์ ํธ์๋ AnotherJarExample ๋ชจ๋ ํ๋๋ง ์๋ ์ํ์ด๋ค.
OK๋ฅผ ํด๋ฆญํ์ฌ import๋ฅผ ์๋ฃํ๋ค.
๊ทธ๋ฌ๋ฉด ํ๋ก์ ํธ์ External Libraries ํ์์ JarExample์ด ์ถ๊ฐ๋๊ฒ์ ๋ณผ ์ ์๋ค. ์ ์์ ์ผ๋ก import ๋๋์ง ํ์ธํ๊ธฐ ์ํด ์๊น์ ๋์ผํ main() ๋ฉ์๋๋ฅผ ํธ์ถํด๋ณด๋๋ก ํ๊ฒ ๋ค.
๋๊ธ