详解jar命令打包生成双击即可运行的Java程序
之前有同学问我怎样把自己的程序做得像Windows下的.exe文件那样直接双击就可运行,因为大家都厌烦了Java在控制台下的“javac”再“java”的操作方法。现在我就拿出当时给班里的同学写的实验指导来实现一下吧。大家互相学习。
平时我们写了Java程序,每次都要在命令行提示符的控制台下进行编译、运行,而且只是在本机上进行的。如果我们想要把自己开发的一些小游戏之类的程序打包发给好友们互相学习,那就需要用到“jar”命令来打包生成双击就可运行的程序包了。当然,前提是对方的机器已经安装了合适版本的JDK。
话不多说,直接用例子来说明问题吧。具体操作流程如下:
1、编写一个GUI程序(其他程序也可,只不过不够直观而已);
2、编写名为“manifest”的文件;
3、在控制台中使用“jar”命令按照指定的方式进行代码打包;
4、双击生成的“jar”包,即可运行我们的GUI程序了;
5、若上面第四步的方法不奏效,那么就应该编写Windows下后缀名为“.bat”的批处理文件,再双击该.bat文件即可;
首先,我们先在控制台下查看一下“jar”命令的用法,就会比较清楚上面第2、3步骤的原理和操作了。在控制台中输入“jar”命令,结果如下:
<!--EndFragment-->大家也动手试一下,有比较清楚的实例可以看。
实验开始:
1、假设我们编写的GUI程序代码如下,类名为Week_9.java,必须包含main()函数:
<!--EndFragment-->
- import javax.swing.JFrame ;
- public class Week_9{
- public static void main(String args[]){
- JFrame frame = new JFrame("Java表格") ;
- String[] titles = {"姓名","年龄","性别"} ; //表格标题
- Object [][] userInfo = {
- {"小强",30,"男"} ,
- {"小明",23,"女"}
- } ; // 初始化数据
- JTable table = new JTable(userInfo,titles) ; // 建立表格
- JScrollPane scr = new JScrollPane(table) ; //用可滚动的JScrollPanel来包装JTable
- frame.add(scr); //将JScrollPanel添加进窗口中
- frame.setSize(400, 200);
- frame.setLocation(300, 50);
- frame.setVisible(true);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
代码就不具体讲明了,因为我们可以用其他包含有public类,并且里面有main()函数的Java程序来演示“jar”命令的打包用法,当我们直接在控制台下先“javac”再“java”的话,运行结果如下:
2、进入到编译后生成Week_9.class 文件所在的目录,新建一个名为“manifest”的文件(可以不用后缀名,用EditPlus可以打开,或者直接命名为manifest.txt也可,下面运用jar 命令打包时需要用到该文件,所以前后的文件名必须一致),如下图:
注:该文件里面的内容:Main-Class: Week_9,其中冒号“:”与类名之间一定要有个空格,这是Java规范,照做就行了。若public类属于某一包,则写:Main-Class: 包名.Week_9
3、根据步骤2中了解到的jar 命令的相关参数,在命令提示符窗口中执行以下命令:“jar -cvfm week9.jar manifest Week_9.class”,结果如下:可知当前目录下生成了“week9.jar”压缩文件,如图:
4、此时,就可以将打包后“week9.jar”文件发布给任何安装了Java运行时环境jre 的计算机了,若在我们机器上双击该文件的图标不能运行该文件,可以为Windows系统下的计算机再新建一个名为“week.bat”(文件名可随意)的批处理文件,内容为“java –jar week9.jar”,具体如下图:
5、最后,需要将“week9.jar”、 “week.bat”放在同一个目录下(如果不想放在同一目录下,那么.bat文件里面的在写java命令时就应该给出具体要运行的java类的路径了),然后双击“week.bat”文件即可运行该GUI程序了,运行结果与上面的一样。
至此,大家就可以把自己的程序打包发布给朋友们了。
附:本例子的源代码下载!
大家可以继续如下操作,稍微探索一下:
1、用解压工具打开“week9.jar”文件,看看里面包含了什么内容;
其实,上面第2个步骤中在一个名为“manifest”文件中写入了“Main-Class: Week_9”是代表这个jar打包文件中运行程序的主类(一定是public的),因为主类中包含程序入口main()函数。
2、实际上.bat 批处理文件里面的命令就相当于我们平时在命令提示符窗口下输入运行某个程序时输入的一样,请自行搜索批处理文件的相关知识。
相关推荐
3. 双击JAR文件时,需要在系统中配置Java环境,因为操作系统会通过Java虚拟机(JVM)来执行JAR。 然而,JAR文件在Windows系统上双击运行可能需要用户先安装JRE,这给非开发人员带来了不便。这时,我们可以使用工具...
标题中的“生成可双击运行的Jar文件”指的是在Java开发中将编译好的类文件打包成一个可执行的JAR(Java Archive)文件,这样用户可以通过双击该JAR文件来直接运行Java应用程序。这一过程涉及到Java的打包工具如jar...
Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总 本文档将详细介绍 Java 打包成 jar 文件和将 jar 文件导出为 exe 文件的方法汇总。Java 是一种流行的编程语言,广泛应用于软件开发、Android 应用开发...
6. **环境独立性**:描述中提到的exe安装程序“不依托安装电脑是否有环境”,这意味着打包工具可能包含了JRE(Java Runtime Environment)的一部分或全部,使得应用程序能够在没有预装JRE的系统上运行。这种方法被...
Java2EXE的工作原理是将.jar文件包装在一个小型的Windows程序中,这个程序包含了运行Java应用所需的部分JVM。当用户运行.exe文件时,实际上是启动了这个嵌入式JVM,从而执行.jar中的代码。这样就避免了在目标机器上...
### Java应用程序的打包发布知识点详解 #### 一、引言 随着Java技术的不断发展与普及,Java应用程序的开发越来越受到广大开发者的青睐。Java应用程序在完成编写与编译后,通常需要进行打包以便于发布与分发。本文...
描述中提到的“java打包工具”可能就是这样的工具,它可以将Java应用程序打包成.exe格式,同时嵌入JRE(Java运行环境),确保在没有安装JRE的机器上也能运行。这种工具的使用方法通常包括以下步骤: 1. **下载并...
标题中的"Hello对应的可运行jar文件"指的是一个Java应用程序,被打包成了JAR(Java Archive)格式的文件,名为"Hello.jar"。JAR文件是Java平台特有的打包机制,它将多个类文件、资源文件以及元数据等组合在一起,...
Java程序通常运行在Java虚拟机(JVM)上,但为了让非Java开发人员或没有安装Java环境的用户也能轻松运行程序,我们可以将其打包成可执行的Windows程序(.exe文件)。这里提到的“Java程序打包成exe执行文件工具”是...
这个转换过程使得Java程序对于非Java环境的用户更加友好,因为它们可以直接双击运行,而无需先安装Java运行时环境(JRE)。 Launch4j的核心功能包括: 1. **封装JAR**:它将Java应用的主JAR文件和必需的类路径资源...
这样,用户无需安装Java环境,只需双击JAR文件即可运行程序。以下是生成可执行JAR文件的详细步骤和相关知识点: 1. **理解JAR文件**: JAR文件是Java平台的标准归档格式,用于存储编译后的Java类文件、元数据和...
标题提到的"java 桌面程序打包jar可执行包,类似达成exe可执行程序",指的是通过特定工具或方法,让Java程序像Windows平台上的.exe文件一样,双击即可运行。 Eclipse是一款广泛使用的Java集成开发环境(IDE),它...
Java打包成可执行程序是一个常见的需求,特别是在分发和部署Java应用程序时。本文将详细介绍如何将Java项目打包成jar文件,以及如何进一步利用JSmooth工具将其转换为Windows平台下的exe可执行程序。 首先,我们将...
Java打包过程是将Java应用程序转换为可执行文件的过程,以便在不依赖Java虚拟机(JVM)的环境中运行。在Java Swing开发的应用程序中,打包成exe文件是一种常见需求,这样用户无需安装JVM即可直接运行。以下是详细的...
`jar2exe`工具就是为此目的设计的,它允许Java开发者将他们的.jar文件转换为可执行的.exe文件,使得Windows用户可以直接双击运行,无需安装Java运行环境。本文将详细介绍`jar2exe`工具的使用及其原理。 1. **`jar2...
描述中提到的“可直接将JAVA打包成EXE文件,方便实用”,意味着这个压缩包可能包含一个工具或者步骤说明,帮助开发者将Java代码转换为可以直接在Windows系统上运行的程序,而无需安装Java运行环境。 在Java中,我们...
1. **集成JVM**:exe4J可以自动选择合适的JRE版本,并将其包含在生成的.exe文件中,确保程序运行时无需用户手动安装Java环境。 2. **资源管理**:允许添加额外的资源文件,如配置文件、图片、帮助文档等,确保程序...
这样做的好处是提高了用户的便利性,因为他们无需知道或安装Java环境,只需双击`.exe`文件即可运行程序。 描述中提到的“此工具”通常指的是像exe4j这样的软件。exe4j是一个广泛使用的工具,它允许开发者将Java应用...
6. 运行jar文件,创建一个批处理文件(.bat),内容为`java -jar nome.jar`,双击批处理文件运行程序。 方法二:通过命令行生成jar文件 1. 创建一个名为MANIFEST.MF的清单文件,指定主类(含有main方法)。 2. 使用...
4. **运行JAR文件**:打包完成后,用户可以直接双击JAR文件运行程序,或者通过命令行使用`java -jar yourjarfile.jar`来执行。 此外,如果你想将Java程序转化为Windows的`.exe`可执行文件,可以使用第三方工具如...