首页 > 其他分享 >jar包是什么?

jar包是什么?

时间:2023-05-14 14:56:59浏览次数:26  
标签:文件 包是 jar 什么 JAR 文件格式 组件

JAR 文件就是 Java Archive File。因为jar包主要是对class文件进行打包,而java编译生成的class文件是平台无关的,这就意味着jar包是跨平台的。

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。

jar 与 zip 唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,该文件是在生成 jar 文件的时候自动创建的,作为jar里面的"详情单",包含了该Jar包的版本、创建人和类搜索路径Class-Path等信息,当然如果是可执行Jar包,会包含Main-Class属性,表明Main方法入口,。

一个 JAR 文件可以用于:

□ 用于发布和使用类库 
□ 作为应用程序和扩展的构建单元 
□ 作为组件、applet 或者插件程序的部署单位 
□ 用于打包与组件相关联的辅助资源 

为什么要打jar包:
开发了一个程序以后,程序中有很多的类,如果需要提供给别人使用,发给对方一大堆源文件是非常不好的,因此通常需要把这些类以及相关的资源文件打包成一个 jar 包,把这个 jar 包提供给别人使用,同时提供给使用者清晰的文档。这样他人在拿到我们提供的jar之后,就能方便地进行调用。

标签:文件,包是,jar,什么,JAR,文件格式,组件
From: https://www.cnblogs.com/hangsingplus/p/17399299.html

相关文章

  • 操作系统:为什么一个页表项通常占用1Byte,1字节呢?页表项≠逻辑地址!常见OS内存管理误区辨
    为什么一个页表项通常占用1Byte,1字节呢?页表项≠逻辑地址!如果还不懂,请看:页目录、页表和页三者的关系详解每个页表项占用一个字节是怎么来的?问题启发一开始是做题的时候,为什么不是2^12bit,而是2^12Byte某计算机主存按节址,逻地址和物理地址都是32位页表项大小为4B。请回......
  • 为什么编程语言中,标识符不能以数字开头?
    标识符不能以数字为开头,是为了简化词法解析器设计和实现,规避词法解析中以数字开头的变量与数字解析冲突的问题。如果两种类型的词,如果起始符号不同,那么可以很容易把二者区分开;如果起始符号相同,那么以下符号:234到底是变量还是数字常量?这种情况下,需要根据上下文判断。这就离“......
  • 大公司为什么禁止SpringBoot项目使用Tomcat?
    前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。Spr......
  • 【❂Java集合】循环链表和双向链表的区别是是什么
    最后一个结点指针指向不同在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是像双向链表那样置为NULL。此种情况还用于在最后一个结点后插入一个新的结点。判断链域值不同在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到......
  • 什么场景下值得使用 const that = this ?
    在Vue2项目中,我们经常会遇到这样一个问题:什么场景下值得用constthat=this?这个问题涉及到JavaScript中的this指针和Vue中的模板语法。本文将从以下三个方面来论述这个问题:this指针的含义和变化Vue模板语法中如何使用thisconstthat=this的作用和优劣首先,我们......
  • 一文揭秘DDD到底解决了什么问题
    DDD作为架构设计思想帮助微服务控制规模复杂度,那它是怎么做到的呢? 一、架构设计是为了解决系统复杂度谈到架构,相信每个技术人员都是耳熟能详,但如果深入探讨一下,“为何要做架构设计?”或者“架构设计目的是什么?”类似的问题,大部分人可能从来没有思考过,或者即使有思考,也没......
  • 从输入 URL 到页面展示到底发生了什么?
    转载:https://www.bilibili.com/video/BV1rV4y1H73o/?spm_id_from=333.337.search-card.all.click&vd_source=46d50b5d646b50dcb2a208d3946b1598......
  • gym 加载/获取 其它模块/库的自定义环境 为什么不需要import自定义的模块/库 只需impo
    site-packages\gymnasium\__init__.py#Hooktoloadpluginsfromentrypointsload_plugin_envs()在这里载入的其它模块/库的自定义环境 Loadmodules(plugins)usingthegymnasiumentrypointsinordertoregisterexternalmodule'senvironmentson``importgymna......
  • 什么是回溯算法
    原文点此跳转介绍回溯算法是算法设计中的一种方法。回溯算法是一种渐进式寻找并构建问题解决方式的策略。回溯算法会先从一个可能的动作开始解决问题,如果不行,就回溯并选择另一个动作,直到将问题解决。就像你在一个迷宫里面遇到了当前有三条岔路,你选择了第一条后发现此路不通,那你是不......
  • 绩效考核的5大标准是什么?
    一、考核指标的设置在我国,企业的绩效考核指标可以从组织层面和个人层面来设置。企业设置考核指标时要结合企业经营状况、企业自身特点、企业文化与员工素质等因素来进行。如岗位职责、绩效目标、管理要求、工作质量、客户服务质量等。不同岗位设置不同的得分标准,一般职位采用综合......