dev/java

[java] runable fat jar 만들기(johnrengelman/shadow)

pearlab 2023. 8. 23. 17:18

 

Setting 

Gradle 6.8

Java 11

 

Gradle task -> jar

 

plugins {
    // Apply the java-library plugin for API and implementation separation.
    id 'java-library'
    id 'com.github.johnrengelman.shadow' version '6.1.0' // 추가한 코드
}

 

 

jar {

	enabled = false

    finalizedBy shadowJar // 추가한 코드

    manifest {
        attributes 'Main-Class': 'name.Main'
    }
}

 

Version

Gradle Shadow
5.x 5.2.0 - 6.0.0
6.x 5.2.0 - 6.1.0
7.x 7.0.0+
8.x 8.0.0+

 

 

reference

https://github.com/johnrengelman/shadow

 

GitHub - johnrengelman/shadow: Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applicati

Gradle plugin to create fat/uber JARs, apply file transforms, and relocate packages for applications and libraries. Gradle version of Maven's Shade plugin. - GitHub - johnrengelman/shadow: Grad...

github.com