IMLC.ME
/jvm/How does JVM bootstrap an uber jar/fat jar/executable jar/

How does JVM bootstrap an uber jar/fat jar/executable jar

A jar is just a zip file contains text files and class files.
An executable jar is just a normal jar that save extra plain text information about how to run the Java application.

The key property for an executable jar is Main-Class. It's a good starting point to trace from.

src/java.base/share/native/launcher/main.c#main
    src/java.base/share/native/libjli/java.c#JLI_Launch
        src/java.base/share/native/libjli/java.c#SelectVersion
            src/java.base/share/native/libjli/parse_manifest.c#JLI_ParseManifest
                `} else if (JLI_StrCaseCmp(name, "Main-Class") == 0) {
                 info->main_class = value;`

Preview

Reference

JAR File Specification - Java 17