Development tools
Enviroments
π οΈ[κ°λ° λꡬ λ° νκ²½] λΉλλ νλ‘μ νΈ μ€ννκΈ°.
1οΈβ£ plain.jarμ executable.jar.
- AWS Linux 2023 EC2 λ΄μμ λμ κ΄λ¦¬ μ ν리μΌμ΄μ
μ λΉλνλ μλ‘μ΄
build
νμΌμ΄ μ겨λ¬μ΅λλ€.
-
/build/libs/
κ²½λ‘λ₯Ό λ°λΌ λ€μ΄κ°λ©΄ plain.jar νμΌκ³Ό executable.jar νμΌμ΄ μμ±λμ΄ μλ κ²μ νμΈν μ μμ΅λλ€.
library-app-0.0.1-SNAPSHOT-plain.jar // <- plain.jar νμΌ
library-app-0.0.1-SNAPSHOT.jar // <- executable.jar νμΌ
- μ΄ λ κ°μ§ νμΌμ μλ‘ λ€μ΄ κ°κ°μ μλ―Έμ μ°¨μ΄λ₯Ό μ€λͺ
ν΄λ³΄κ² μ΅λλ€.
2οΈβ£ library-app-0.0.1-SNAPSHOT-plain.jar
-
μ€λͺ
- βPlain JARβλ‘ λΆλ¦¬λ©°, νλ‘μ νΈμ ν΄λμ€ νμΌκ³Ό 리μμ€λ§ ν¬ν¨λ JARμ
λλ€.
- μμ‘΄μ± λΌμ΄λΈλ¬λ¦¬λ μ€ν μ§μ
μ (main())μ΄ μ€μ λμ§ μμ λ¨μ JAR νμΌμ
λλ€.
-
ν¬ν¨ λ΄μ©
- νλ‘μ νΈ μμ€μμ λΉλλκ³ μ»΄νμΌλ ν΄λμ€ νμΌ(.class).
- META-INF λλ ν 리μ 리μμ€ νμΌ.
-
μ¬μ© λͺ©μ
- λ
립 μ€νμ΄ λΆκ°λ₯νλ©°, λ€λ₯Έ νλ‘μ νΈμμ μμ‘΄μ±μΌλ‘ μ¬μ©ν λ νμ©λ μ μμ΅λλ€.
- λΌμ΄λΈλ¬λ¦¬ ννλ‘ λ°°ν¬νκ±°λ νΉμ μμ
μ μ¬μ©λ©λλ€.
3οΈβ£ library-app-0.0.1-SNAPSHOT.jar
-
μ€λͺ
- βExecutable JARβλ‘ λΆλ¦¬λ©°, μ€ν κ°λ₯ν JAR νμΌμ
λλ€.
- μ΄ νμΌμλ λͺ¨λ μμ‘΄μ± λΌμ΄λΈλ¬λ¦¬μ μ€ν μ§μ
μ (main() λ©μλ)μ ν¬ν¨ν©λλ€.
-
ν¬ν¨ λ΄μ©
- library-app-0.0.1-SNAPSHOT-plain.jarμ λͺ¨λ λ΄μ©.
- μμ‘΄μ± λΌμ΄λΈλ¬λ¦¬λ€μ΄ ν¬ν¨λμ΄ μ€ν κ°λ₯ν νκ²½μ΄ λ©λλ€.
- META-INF/MANIFEST.MF νμΌμ Main-Classκ° μ€μ λμ΄ μμ΄, java -jar λͺ
λ ΉμΌλ‘ μ€νν μ μμ΅λλ€.
-
μ¬μ© λͺ©μ
- μ ν리μΌμ΄μ
μ μ€ννκ±°λ λ°°ν¬ν λ μ¬μ©λ©λλ€.
- λ
립 μ€ν κ°λ₯ν μ ν리μΌμ΄μ
JARλ‘ μ¬μ©λ©λλ€.
4οΈβ£ μ£Όμ μ°¨μ΄μ .
κ΅¬λΆ |
plain.jar |
executable.jar |
μμ‘΄μ± ν¬ν¨ μ¬λΆ |
ν¬ν¨λμ§ μμ |
ν¬ν¨λμ΄ μμ |
μ€ν κ°λ₯ μ¬λΆ |
μ€ν λΆκ°λ₯ |
μ€ν κ°λ₯ |
μ¬μ© λͺ©μ |
λΌμ΄λΈλ¬λ¦¬ ννλ‘ μ¬μ© |
λ
립 μ€ν κ°λ₯ν μ ν리μΌμ΄μ
|
Manifest μ€μ |
Main-Class μμ |
Main-Class ν¬ν¨ |
5οΈβ£ μ ν κΈ°μ€.
-
μ€ν κ°λ₯ν μ ν리μΌμ΄μ
μΌλ‘ μ¬μ©νλ €λ©΄
- libaray-app-0.0.1-SNAPSHOT.jarλ₯Ό μ¬μ©νμ¬ μ€ν.
java -jar library-app-0.0.1-SNAPSHOT.jar
-
λΌμ΄λΈλ¬λ¦¬λ μ’
μ νλ‘μ νΈλ‘ νμ©νλ €λ©΄
- library-app-0.0.1-SNAPSHOT-plain.jarλ₯Ό λ°°ν¬νκ±°λ μμ‘΄μ±μΌλ‘ μΆκ°.