Lukas K-G
05/21/2026, 6:53 PMLukas K-G
05/22/2026, 5:49 AMOleg Yukhnevich
05/22/2026, 6:48 AMEugen Martynov
05/22/2026, 7:34 AMOleg Yukhnevich
05/22/2026, 7:56 AMkdoc.jar is more about the concept itself - an artifact published to Maven Central, in a similar way we have javadoc.jar there.
In addition, as you might have already noticed, Kotlin uses .jar files not only to store JVM bytecode. In the end, it's just a zip file.Eugen Martynov
05/22/2026, 7:57 AMOleg Yukhnevich
05/22/2026, 8:01 AMjavadoc.jar is not a javadoc.zip? 🙂
As for kdoc.jar, it's not set in stone in any case, but it's much easier to describe in relation to the JVM ecosystem, at least.
Still, as Kotlin "extends" the Java world, we sometimes need to make small sacrifices to be compatible with it. As shown in the screenshot above, a jar is used because Maven Central requires the main artifact to be a jar.Eugen Martynov
05/22/2026, 8:03 AMOleg Yukhnevich
05/22/2026, 8:13 AMJAR file is a file format based on the popular ZIP file format and is used for aggregating many files into one. A JAR file is essentially a zip file that contains an optional META-INF directory. A JAR file can be created by the command-line jar tool, or by using theSo, it's like a standard for storing anything related to Java. And when the first build systems and artifact registries were born, and the need to publish sources or javadoc emerged, the easiest choice was to use aAPI in the Java platform. There is no restriction on the name of a JAR file, it can be any legal file name on a particular platform.java.util.jar
jar for everything. It both automatically says that it's related to Java and provides a META-INF directory for metadata.
This is mostly my understanding, though.Eugen Martynov
05/22/2026, 8:15 AMhfhbd
06/01/2026, 8:06 PMOleg Yukhnevich
06/02/2026, 12:38 PM