二十二、Jar包制作及使用

1、什么是Jar包?

Jar包(Java ARchive)就是.class字节码文件的标准压缩包,是 Java 的一种文档格式.

2、Jar是不是压缩包?

是!
JAR 格式允许压缩文件以提高存储效率。
1、传输平台扩展。 Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。
2、包密封。 存储在 JAR 文件中的包可以选择进行密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一 JAR 文件中找到

3、Jar压缩包和Zip压缩包的区别:

Jar文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF 文件夹,这个文件夹是在生成 JAR 文件的时候自动创建的。

4、在理解什么是Jar包

java源代码编译后,形成的.class字节码文件 中包含了这个类中的所有内容,因此想要脱离源代码的前提下使用.class字节码文件,可以打包生成jar包.
(在java中,.class字节码文件的标准压缩包就是jar包)、jar包生成之后想要使用,就需要导入到IDE(开发工具)中。

5、Jar包怎么用?什么时候用Jar包?

java -jar执行这个JAR文件

  1. 如果使用了 -jar 选项,那么环境变量 classpath之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。

  2. 一个 JAR 文件可以用于:

  • 用于发布和使用类库
  • 作为应用程序扩展的构建单元
  • 作为组件applet 或者插件程序的部署单位
  • 用于打包与组件相关联的辅助资源
  1. 当开发一个应用程序后这个应用程序包含了很多类,如果需要把这个程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,然后把这个Jar文件提供给别人使用。只要在别人系统的CLASSPATH环境变量中添加这个文件,这样JVM就可以自动在内存中解压这个jar包

6、使用jar包的好处是什么?为什么用?

1、Jar安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。
2、加快下载速度;
因为Jar包做了压缩,使文件变小,与ZIP压缩机制完全相同。
3、包封装。JAR包里面的文件依赖于统一版本的类文件。
可移植性,能够在各种平台上直接使用。

7、怎么制作Jar包

在Idea中创建Jar包:很简单6张图
在Idea中创建Jar包1
来到项目结构页面在Idea中创建Jar包2
在这里选择带有主方法的类,点击确定;如果要打包普通的类,即这个类没有带主方法直接点确定就可以了。
在Idea中创建Jar包3
点击确定之后回到项目结构工件页面
在Idea中创建Jar包4
然后点击构建,构建工件
在Idea中创建Jar包5
导航栏点击构建,构建完成之后就会在out目录中生成项目的Jar包了
在Idea中创建Jar包6
生成的Jar包可以复制到任何地方,快黑窗口java -jar执行你打包的这个JAR文件吧~

最近更新

  1. TCP协议是安全的吗?

    2024-06-19 03:58:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-19 03:58:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-19 03:58:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-19 03:58:02       18 阅读

热门阅读

  1. 6、while循环 - 习题解析

    2024-06-19 03:58:02       5 阅读
  2. 华为OD机试 C++ - 跳格子1

    2024-06-19 03:58:02       9 阅读
  3. LeetCode 14. 最长公共前缀

    2024-06-19 03:58:02       7 阅读
  4. 部署YUM仓库及NFS共享服务

    2024-06-19 03:58:02       6 阅读
  5. LeetCode-day08-881. 救生艇

    2024-06-19 03:58:02       8 阅读
  6. linux hosts配置 ip映射

    2024-06-19 03:58:02       7 阅读
  7. Web前端中的jQuery:深度解析与应用探索

    2024-06-19 03:58:02       8 阅读
  8. typescript-泛型

    2024-06-19 03:58:02       5 阅读