λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Springboot

μŠ€ν”„λ§λΆ€νŠΈ, λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ κ°€λŠ₯ν•œ JAR

“λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰κ°€λŠ₯ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜”이 μŠ€ν”„λ§λΆ€νŠΈμ˜ μ£Όμš”ν•œ λͺ©μ  쀑 ν•˜λ‚˜μ΄λ‹€.

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

pom.xml의 spring-boot-maven-plugin이 ν•΄μ£ΌλŠ” 일이 λ°”λ‘œ νŒ¨ν‚€μ§•μ΄λ‹€.

jar μ•ˆμ— jar νŒŒμΌλ“€μ„ κ·ΈλŒ€λ‘œ λ¬Άμ–΄λ‘˜ 수 μžˆλ„λ‘ μ§€μ›ν•΄μ„œ ν•˜λ‚˜μ˜ jar 파일둜 ν”„λ‘œμ νŠΈλ₯Ό νŒ¨ν‚€μ§•ν•  수 μžˆλ‹€.

 

λͺ¨λ“  mvn λͺ…λ Ήμ–΄λŠ” ν”„λ‘œμ νŠΈμ˜ ν™ˆ λ””λ ‰ν† λ¦¬μ—μ„œ μ‹€ν–‰ν•˜λ©΄ λœλ‹€.

μ•„λž˜λŠ” λŒ€ν‘œμ μœΌλ‘œ μ“°μ΄λŠ” λͺ…령어듀이닀.

mvn clean

mvn package γ…‘> μ‹€ν–‰ κ°€λŠ₯ν•œ JAR 파일 “ν•˜λ‚˜κ°€" μƒμ„±λœλ‹€.

mvn clean package γ…‘> ν•œ λ²ˆμ— μ‹€ν–‰ν•  μˆ˜λ„ μžˆλ‹€.

mvn package -DskipTests γ…‘> testλŠ” κ±΄λ„ˆλ›΄λ‹€.

java -jar μƒμ„±λœ_jar_파일_이름 γ…‘> μ‹€ν–‰ν•œλ‹€.

 

압좕을 ν•΄μ œν–ˆμ„ λ•Œ 

 

λ‚΄μž₯ JAR : 기본적으둜 μžλ°”μ—λŠ” λ‚΄μž₯ JARλ₯Ό λ‘œλ”©ν•˜λŠ” ν‘œμ€€μ μΈ 방법이 μ—†λ‹€.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 클래슀(classes)와 라이브러리(lib) μœ„μΉ˜λ₯Ό κ΅¬λΆ„ν•˜κ³  μžˆλŠ” 것을 λ³Ό 수 μžˆλ‹€.

org.springframework.boot.loader.jar.JarFile을 μ‚¬μš©ν•΄μ„œ λ‚΄μž₯ JARλ₯Ό μ½λŠ”λ‹€.

org.springframework.boot.loader.Launcherλ₯Ό μ‚¬μš©ν•΄μ„œ μ‹€ν–‰ν•œλ‹€.

 

[ MANIFEST.MF ]

Manifest-Version: 1.0
Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx
Implementation-Title: demo
Implementation-Version: 0.0.1-SNAPSHOT
Spring-Boot-Layers-Index: BOOT-INF/layers.idx
Start-Class: com.jueun.demo.Application
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Build-Jdk-Spec: 1.8
Spring-Boot-Version: 2.4.1
Created-By: Maven Jar Plugin 3.2.0
Main-Class: org.springframework.boot.loader.JarLauncher

λͺ¨λ“  jar νŒŒμΌλ“€μ˜ μ‹œμž‘μ μ€  META-INF/MANIFEST.MF νŒŒμΌμ΄λ‹€.

Main-Classμ—λŠ” λ‚΄μž₯ Jar이 μ•„λ‹Œ, bootκ°€ μ œκ³΅ν•˜λŠ” JarLauncherκ°€ μ§€μ •λ˜μ–΄ μžˆλ‹€.

Start-Classμ—λŠ” λ‚΄κ°€ μž‘μ„±ν•œ 메인 ν΄λž˜μŠ€κ°€ μ§€μ •λ˜μ–΄ μžˆλ‹€.