有不少朋友问我怎么样生成jar文件,为什么我的jar文件可以双击执行,每次我都会解释,我生成的jar是在JBuilder中完成的,但仍有人希望知道如何使用命令行生成jar文件,因此,我特地抽点时间来整理一下jar的命令行用法。

JAR 是JavaTM Archive file的缩写,jar可将多个文件打包在一个文件中进行发布。通常,jar文件中会包含多个类文件和程序运行时所需要的资源文件,使用jar文件有以下好处:

安全:你可以对jar文件进行数字签名

压缩:jar格式可以减少程序的存储空间,这会提高网络传输的效率,至少,不需要建立多的连接就可以下载整个程序

打包:jar可以将一些常用的函数进行封装,然后提供给其它用户进行二次开发,比如说Java 3D和JavaMail

生成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文件,碰到这种情况,将文件的关联去掉即可。

.java中jar_java中的jar相关推荐

  1. java classes.jar_java中class文件与jar文件

    1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件--准确的说, ...

  2. java 生成jar_java如何生成jar

    将*.class文件压缩成一个文件交付给用户使用,那么这样的文件就称为jar文件.如果要想生成jar文件,直接使用JDK中bin目录里的jar.exe就可以将所有的类文件进行压缩.此命令是随JDK一起 ...

  3. java comm jar_java基于RXTXcomm.jar的串口通信

    java基于RXTXcomm.jar的串口通信 RXTX的下载及配置 mfz-rxtx-2.2-20081207-win-x64 下载地址:http://download.csdn.net/downl ...

  4. java jsch jar_Java工具jsch.jar实现上传下载

    在做运维的时候,我们一般使用shell脚本实现文件的服务器之间定时传输,那么对于一些不会shell脚本的童鞋,就得使用万能的编程语言了,这里我们介绍一款Java操作ftp的工具,那就是jsch.jar ...

  5. Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码

    具体代码如下所示: src/main/java src/main/resources ${project.build.directory} **/*.java src/test/java src/te ...

  6. java读取系统中指定的文件_java读取jar中指定的文件

    Java 档案 (Java Archive, JAR) 文件是基于 Java 技术的打包方案.它们允许开发人员把所有相关的内容 (.class.图片.声音和支持文件等) 打包到一个单一的文件中.JAR ...

  7. Java中导入错误的jar所引发的问题

    问题描述 创建一个存储字符串数据的List集合,但报以下错误:Type 'java.awt.List' does not have type parameters 解决方法 将import java. ...

  8. java class修改_【原创】Java基础之简单修改jar包中的class

    有时需要修改很多jar(假设这些jar都位于lib目录)中其中一个jar中的某一个类,而且又没有原始代码或ide,这时最简单的方式是: 1 进入lib目录 #cd lib#ls test.jar de ...

  9. java 捆绑_java – 如何在jar文件中捆绑图像

    在这里似乎有两个问题: >如何让NetBeans在构建项目时将jar包含在生成的jar中? >如何从jar中访问映像文件? 此应用程序适用于NetBeans 6.8并解决了两个方面的问题. ...

  10. 海康java版本SDK中jna.jar的说明

    海康java版本SDK中jna.jar的版本就是3.0.9 <!-- 用的这个低版本的,换成高版本的需要修改extends Structure的类增加getFieldOrder方法 --> ...

最新文章

  1. 环境变量,cp,mv,查看文档命令
  2. 可以连上网,能Ping通网关和DNS服务器,但是却不能访问网页
  3. Java编写的五子棋小游戏
  4. opencv-python 图像最小外接矩形
  5. 关于VC单选按钮不能设置变量以及Group属性的设置问题
  6. IJ-java-com-util-common:
  7. 用PHP生成word文件
  8. 【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】
  9. oracle symonym_ORACLE SYNONYM详解
  10. pipeline代码自动生成
  11. java各个平台订单动态对接_平台订单丨全国各地最新采购、代加工订单,免费联系对接...
  12. qt5 linux 窗口不能置顶_Qt 5.15 LTS发布,Qt 6要来了
  13. 新换密交友玩法月老盲盒微信小程序源码_支持分销支付等功能
  14. 中断触发流程三(中断控制器)
  15. C# List集合求交集
  16. Mysql查看编码方式专题
  17. ubuntu 查询cpu个数
  18. MATLAB画圆时却显示椭圆?一个命令解决问题!
  19. [MAC]Google Drive下载大文件
  20. 解决Chrome谷歌浏览器Adobe Flash Player 插件已被屏蔽的问题

热门文章

  1. 四叶草clover配置工具:Clover Configurator for Mac
  2. 实践项目二:图书馆管理系统 总结
  3. Ubuntu二进制编辑器Hexdump
  4. 【交换机在江湖】第十三章 VLAN划分篇
  5. PLTS中计算Skew(计算延时差:对内/对间)
  6. 文件服务器实验报告,Server 2008 R2 文件服务器资源管理器实验报告.docx
  7. wacom linux 驱动下载,Ubuntu 8.04如何安装WACOM驱动
  8. 《JAVA常用算法手册》学习笔记(一)
  9. 大型企业能源管理系统的设计与应用
  10. 一个程序员眼中的项目经理