Jar 文件是否需要 .class 个文件才能执行

Does a Jar File need .class files to be executable

目前我正在尝试以编程方式生成可执行 JAR 文件。

我一直在使用此线程 (How to use JarOutputStream to create a JAR file?) 生成 JAR 文件,但到目前为止它与我的测试项目的本机 .java 文件打包在一起。

现在我想知道,如果只用原生 classes 填充 JAR 文件,是否可以 运行 还是我必须(以某种方式)将它们编译成 .class 文件才能生成 JAR 文件。

感谢您即将提供的帮助!

Jar 存档是一个具有特殊文件夹结构的 zip 存档。这个结构应该有*.class个文件+资源文件。 可选地,源也可以在此存档中,但不推荐这样做(最好为源提供单独的 jar 文件)。

可执行的 jar 文件是普通 jar 文件 + Manifest.MF,其中 MainClass 选项具有完整路径(从 jar 文件的根目录)到主要 class 和 main() 方法。