有不少朋友问我怎么样生成jar文件,为什么我的jar文件可以双击执行,每次我都会解释,我生成的jar是在JBuilder中完成的,但仍有人希望知道如何使用命令行生成jar文件,因此,我特地抽点时间来整理一下jar的命令行用法。 JAR 是JavaTM Archive file的缩写,jar可将多个文件打包在一个文件中进行发布。通常,jar文件中会包含多个类文件和程序运行时所需要的资源文件,使用jar文件有以下好处:
以上不一而足,具体可以参看http://java./docs/books/tutorial/jar/。 生成jar文件 在命令行下生成jar文件需要使用jar命令,在命令行方式下输入jar,可以看到: jar的生成并不复杂,上面已经说得很清楚了,只不过需要注意的是,在生成jar文件后,需要注意包内的文件组织结构的正确性,以“连连看”游戏为例子,下载后的文件为Kyodai.jar,如果使用winrar等工具解开该文件,可以发现,其文件的组织结构为: 和我在写程序的时候的结构是一模一样的,现在,将解开的文件再生成jar文件,可以使用如下命令: (以上去掉了参数v,.表示当前文件夹下的所有文件) 生成可执行的jar 上面,我们已经生成了jar,然而,该程序还无法通过双击执行,程序报错: 这是由于java并不知道在这个jar包中,需要执行的是哪一个class文件,因此,我们需要指定双击时执行的类文件哪个。 因此,我们再建立一个“MANIFEST.MF”,在里面写上如下内容: 第一行指明了该jar文件的版本号,第二行Main-Class表示可执行的类文件为kyodai.Kyodai(这和在命令行方式下使用 java kyodai.Kyodai执行该程序一样),然后,再建立一个META-INF文件夹,将MANIFEST.MF文件copy进去,最后,再将META-INF打包到该jar文件中,这样,一个可执行的jar文件就生成了。 常见问题 有些朋友由于在安装winrar等压缩软件时,jar文件会被其类程序所关联,因此,双击时并不会执行jar程序,而是调用此类软件来打开jar文件,碰到这种情况,将文件的关联去掉即可。 |
|