First, let’s get started by creating a new kotlin(java the same) project. Just select the Gradle template tab and check Kotlin DSL build script
. By the way, if you just want a very simple try, just choose whatever you want Additional Libraries and Frameworks
, and just keep the default package configuration.
As you can see, our project has been successfully initiated by the default way. And a simple HelloWorld
kotlin file has been created.
It’s time to release our HelloWorld project to people!
All our work based on the plugin shadow, so let’s install it:
plugins {
kotlin("jvm") version "1.5.21"
id("com.github.johnrengelman.shadow") version "7.0.0" //you can modify the version here to the latest
}
The last configuration item is, append there’s code to the end of the script file:
tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>() {
manifest {
attributes["Main-Class"] = "LauncherKt" //you must modify here to your own main class
//note: if you are using kotlin like me, don't forget to
//append "Kt" as a suffix of the class name
}
}
This is the final result of the jobs above, now we can start making our fat jar.
Check out the sidebar right side, you will found that there’s a shadow
section in the Gradle task list, right-click the section of shadowJar
, and just waiting for the process to run out.
It’s time to gain our reward, turn into <your project directory>/build/lib
, have a look at the jar with -all
suffix—that’s what we exactly need to.
Now you can execute this artifact via java runtime:
java -jar F:\Demos\untitled\build\libs\untitled-1.0-SNAPSHOT-all.jar <arguments, splitting with spaces>
Have fun, and enjoy!