以前有同窗问我怎样把本身的程序作得像Windows下的.exe文件那样直接双击就可运行,由于你们都厌烦了Java在控制台下的“javac”再“java”的操做方法。如今我就拿出当时给班里的同窗写的实验指导来实现一下吧。你们互相学习。java
平时咱们写了Java程序,每次都要在命令行提示符的控制台下进行编译、运行,并且只是在本机上进行的。若是咱们想要把本身开发的一些小游戏之类的程序打包发给好友们互相学习,那就须要用到“jar”命令来打包生成双击就可运行的程序包了。固然,前提是对方的机器已经安装了合适版本的JDK。函数
话很少说,直接用例子来讲明问题吧。具体操做流程以下:工具
一、编写一个GUI程序(其余程序也可,只不过不够直观而已);学习
二、编写名为“manifest”的文件;spa
三、在控制台中使用“jar”命令按照指定的方式进行代码打包;命令行
四、双击生成的“jar”包,便可运行咱们的GUI程序了;3d
五、若上面第四步的方法不奏效,那么就应该编写Windows下后缀名为“.bat”的批处理文件,再双击该.bat文件便可;blog
首先,咱们先在控制台下查看一下“jar”命令的用法,就会比较清楚上面第2、3步骤的原理和操做了。在控制台中输入“jar”命令,结果以下:游戏
你们也动手试一下,有比较清楚的实例能够看。开发
实验开始:
一、假设咱们编写的GUI程序代码以下,类名为Week_9.java,必须包含main()函数:
代码就不具体讲明了,由于咱们能够用其余包含有public类,而且里面有main()函数的Java程序来演示“jar”命令的打包用法,当咱们直接在控制台下先“javac”再“java”的话,运行结果以下:
二、进入到编译后生成Week_9.class 文件所在的目录,新建一个名为“manifest”的文件(能够不用后缀名,用EditPlus能够打开,或者直接命名为manifest.txt也可,下面运用jar 命令打包时须要用到该文件,因此先后的文件名必须一致),以下图:
注:该文件里面的内容:Main-Class: Week_9,其中冒号“:”与类名之间必定要有个空格,这是Java规范,照作就好了。若public类属于某一包,则写:Main-Class: 包名.Week_9
三、根据步骤2中了解到的jar 命令的相关参数,在命令提示符窗口中执行如下命令:“jar -cvfm week9.jar manifest Week_9.class”,结果以下:可知当前目录下生成了“week9.jar”压缩文件,如图:
四、此时,就能够将打包后“week9.jar”文件发布给任何安装了Java运行时环境jre 的计算机了,若在咱们机器上双击该文件的图标不能运行该文件,能够为Windows系统下的计算机再新建一个名为“week.bat”(文件名可随意)的批处理文件,内容为“java –jar week9.jar”,具体以下图:
五、最后,须要将“week9.jar”、 “week.bat”放在同一个目录下(若是不想放在同一目录下,那么.bat文件里面的在写java命令时就应该给出具体要运行的java类的路径了),而后双击“week.bat”文件便可运行该GUI程序了,运行结果与上面的同样。
至此,你们就能够把本身的程序打包发布给朋友们了。
附:本例子的源代码下载!
你们能够继续以下操做,稍微探索一下:
一、用解压工具打开“week9.jar”文件,看看里面包含了什么内容;
其实,上面第2个步骤中在一个名为“manifest”文件中写入了“Main-Class: Week_9”是表明这个jar打包文件中运行程序的主类(必定是public的),由于主类中包含程序入口main()函数。
二、实际上.bat 批处理文件里面的命令就至关于咱们平时在命令提示符窗口下输入运行某个程序时输入的同样,请自行搜索批处理文件的相关知识。
原创做品,容许转载,转载时请务必以超连接形式标明文章 原始出处 、做者信息和本声明。不然将追究法律责任。http://haolloyin.blog.51cto.com/1177454/335742