jar包是什么? 你的名字 2022-05-23 03:58 238阅读 0赞 ## 什么是jar包 ## JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。JAR 格式也支持[压缩][Link 1],从而减小了文件的大小,进一步缩短下载时间。另外,applet 编写者也可在 JAR 文件中用数字签名的方式签写各项以确认其来源。它用 Java 编写,可与现有的 applet 代码完全向后兼容且可充分扩展。 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。 JAR文件是跨平台的,所以不必关心涉及具体平台的问题。除了可以包括声音和图像文件以外,也可以在其中包括类文件。 涉及因特网应用时,JAR文件显得特别有用。在JAR文件之前,Web浏览器必须重复多次请求[web服务器][web],以便下载完构成一个“程序片”(Applet)的所有文件。除此以外,每个文件都是未经压缩的。但在将所有这些文件合并到一个JAR文件里以后,只需向远程服务器发出一次请求即可。同时,由于采用了压缩技术,所以可在更短的时间里获得全部数据。另外,JAR文件里的每个入口(条目)都可以加上数字化签名(详情参考Java用户文档)。 一个JAR文件由一系列采用Zip压缩格式的文件构成,同时还有一张“详情单”,对所有这些文件进行了描述(可创建自己的详情单文件;否则,jar程序会为我们代劳)。在联机用户文档中,可以找到与JAR详情单更多的资料(详情单的英语是“Manifest”)。 jar实用程序已与Sun的JDK配套提供,可以按我们的选择自动压缩文件。请在命令行调用它 JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。 ![110403_7947034537792.png][] ## 一个 JAR 文件可以用于: ## □ 用于发布和使用类库 □ 作为应用程序和扩展的构建单元 □ 作为组件、applet 或者插件程序的部署单位 □ 用于打包与组件相关联的辅助资源 ## JAR 格式允许您压缩文件以提高存储效率。 ## ·传输平台扩展。 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。 ·包密封。 存储在 JAR 文件中的包可以选择进行密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 文件中找到。 ## 创建可执行 JAR ## 创建一个可执行 JAR 很容易。首先将所有应用程序代码放到一个目录中。假设应用程序中的主类是 com.mycompany.myapp.Sample 。您要创建一个包含应用程序代码的 JAR 文件并标识出主类。为此,在某个位置(不是在应用程序目录中)创建一个名为 manifest 的文件,并在其中加入以下一行: Main-Class: com.mycompany.myapp.Sample 然后,像这样创建 JAR 文件: jar cmf manifest ExecutableJar.jar application-dir 所要做的就是这些了,现在可以用java -jar执行这个JAR文件ExecutableJar.jar。 一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 [Link 1]: http://www.cr173.com/k/yasuo/ [web]: http://www.cr173.com/k/webfwq/ [110403_7947034537792.png]: /images/20220523/e66a7877dfd14a36ad1ca259d2a50166.png
相关 什么是闭包? 我们都知道一个概念。 在JS当中,一个函数可以访问其外部的变量资源。 ![format_png][] 一个典型的代码 但以下这种情况会出错。 fun 冷不防/ 2022年11月26日 14:56/ 0 赞/ 201 阅读
相关 什么是闭包? 闭包 我们都知道,js的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在js作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的 £神魔★判官ぃ/ 2022年11月22日 05:27/ 0 赞/ 203 阅读
相关 Fat Jar 是什么意思? 在java中,通常将应用程序及其依赖jar一起打包到一个独立的jar中,就叫fat jar,它也叫uberJar。springboot的打包方式就是这样,将应用程序代码打包到B 小鱼儿/ 2022年09月14日 11:20/ 0 赞/ 174 阅读
相关 什么是闭包 \----本文摘自programming in lua 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包 超、凢脫俗/ 2022年08月23日 12:47/ 0 赞/ 213 阅读
相关 什么是闭包 什么是闭包? 简单来说,闭包是指外部可以访问另一个函数作用域内的变量的函数,一般是定义在外层函数中的内层函数。 为什么需要闭包? 局部变量无法共享和长久的保存,而全局变量 r囧r小猫/ 2022年05月28日 08:35/ 0 赞/ 267 阅读
相关 jar包是什么? 什么是jar包 JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所 你的名字/ 2022年05月23日 03:58/ 0 赞/ 239 阅读
相关 什么是闭包? 闭包是指有权访问另一个函数作用域中变量的函数 作用:访问另一个函数作用域中变量 原理:通过匿名式函数把局部变量驻留在内存里,可以减少全局变量的使用 优点是封装性, 水深无声/ 2021年11月17日 02:50/ 0 赞/ 718 阅读
相关 什么是闭包? 什么是闭包? 说明 闭包 有些读者可能很好奇,为什么闭包会成为一个独立的概念,以及为什么它需要编程语言提供额外的支持。这些疑惑可以本文中找到答案。 - 日理万妓/ 2021年09月25日 03:46/ 0 赞/ 432 阅读
相关 闭包是什么? 1.什么是闭包? 古老定义 闭包(closure),是指函数变量可以保存在函数作用域内,因此看起来是函数将变量“包裹”了起来 那这样说来,包含变量的函数就是闭 骑猪看日落/ 2021年09月14日 11:32/ 0 赞/ 434 阅读
相关 什么是闭包? 闭包 定义:闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链 你的名字/ 2021年09月14日 08:38/ 0 赞/ 463 阅读
还没有评论,来说两句吧...