Jar 包介绍

Jar 包 ( Java Archive,Java 归档文件) 是与平台无关的压缩文件格式,它允许将多个 Java 源文件编译生成的 class 文件(即字节码文件)打包成一个压缩文件(文件后缀名为 .jar)

注:Jar 包与 zip 压缩文件格式兼容,意思就是你可以使用 zip 软件对Jar 包进行解压缩。

Jar 包作用

  • 用于发布和使用第三方类库(项目中导入 Jar 包就可以使用第三方提供的代码)

  • 作为应用程序和扩展的构建单元(Jar 包可以和项目一起构建)

  • 作为组件、applet 或者插件程序的部署单位(Jar 包可以作为应用程序独立运行)

  • 用于打包与组件相关联的辅助资源(Jar 包除了打包 class 文件还可以打包项目图片等任何资源)

Jar 包分类

  • JDK Jar 包:JDK 提供的 Java 标准类库(安装 JDK 后自动导入使用)

  • 第三方 Jar 包:第三方组织或个人发布的 Java 非标准库(下载 Jar 包后手动导入使用)

IDEA 打包 Jar 包

1. 先创建一个要打包成jar包的类

2. 打开 File -> Project Structrue -> Artifacts -> + -> JAR -> from modules with dependencies…

3.在 Main Class 中选择要打包的类

project -> 选择打包的类 -> 然后OK

点击OK

注意:Maven项目打包时不要放到 main/java目录下,否则打成的 jar 中 META-INF/MANIFEST.MF 不含有 Main Class信息,生成可执行jar运行会提示没有主清单属性

4. 最后 Apply -> OK

5. Build -> Build Artifacts

6. 点击 Build 后就会再之前选择的 jar 存放目录中生成 jar 包

IDEA 导入 Jar 包

你可能会问,第三方或个人发布的 Jar 包在哪里找呀?

Maven Jar 包中心仓库地址 :https://mvnrepository.com/

这里有世界上最全的 Jar 包,不过要下载这里的 Jar 包需要学会使用 Maven 工具( 别着急哈,我们后面会学 )

另外,第三方开源组织一般会提供官网,可以在它们的官网上下载。还有就是一些 Java 开发人员会收集一些项目中常用的 Jar 包发布出来,也可以去下载。

我就不上网下载 Jar 包,直接用上面生成的 Jar 包给大家演示 IDEA 工程中如何导入 Jar 包哈。

1. 打开 File -> Project Structrue -> Modules ->Dependencies -> + -> jARs or directories…

2. 在 jar 包的存放目录中找到 jar 包,然后点击 OK

实际项目开发一般习惯在工程中创建一个 lib 文件夹,将第三方 Jar 包都拷贝到这个文件夹里,以方便统一管理

3. 选择 jar 包 -> Apply -> OK

4. 然后就可以在 External Libraries(第三方类库) 中看到导入的 jar 包

5. 将之前的 MyJar类 删除掉,然后新建一个测试类 Test,测试一下 jar 包是否可以

看来可以正常使用,说明 Jar 包导入成功!

IDEA 打包和导入 Jar 包的更多相关文章

  1. Android使用KSOAP2调用WebService及正确导入jar包的问题(转)

    Android使用KSOAP2调用WebService及正确导入jar包的问题(转)     错误信息 最近在学Android使用KSOAP2调用现有的Webservice的方法,期间在网上找了很多代 ...

  2. 转!java web项目 build path 导入jar包,tomcat启动报错 找不到该类

    在eclipse集成tomcat开发java web项目时,引入的外部jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环 ...

  3. maven向本地仓库导入jar包(处理官网没有的jar包)

    对于官网没有的jar包,maven向本地仓库导入jar包用如下命令 mvn install:install-file -DgroupId=包名 -DartifactId=项目名 -Dversion=版 ...

  4. 分析-eclipse已经导入jar包了,但还是出现classNotFound异常

    场景:分析-eclipse已经导入jar包了,但还是出现classNotFound异常 分析--eclipse已经导入jar包了,但还是出现classNotFound错误 最近在做一个web项目时,由 ...

  5. Spring环境搭建之:导入jar包、配置文件名称及放置位置

    Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后 ...

  6. Android Studio 简介及导入 jar 包和第三方开源库方[转]

    原文:http://blog.sina.com.cn/s/blog_693301190102v6au.html Android Studio 简介 几天前的晚上突然又想使用 Android Studi ...

  7. IntelliJ IDEA15导入jar包

    在IDEA中导入jar包和eclipse中是不一样的,那么现在我们就来看看在IDEA中如何导入jar包. 1.点击"File"-->"Project Structu ...

  8. eclipse 导入jar包

    我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包.这时候我们就需要在相应的工程下面导入这个jar包.以下配图说明导入jar包的步骤. 1.右击工程的根目录,点击Properties进 ...

  9. Eclipse下如何导入jar包

    原地址:http://blog.csdn.net/justinavril/article/details/2783182 我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包.这时候我们 ...

随机推荐

  1. 记一次在virtualbox中安装windows7遇到增强功能安装分辨率的问题

    在windows7中遇到很多次安装好增强功能后并不能对其实现放大分辨率,使其跟随虚拟机界面大小而改变. 经过许多次的安装和恢复快照,发现了在设置中,显存的大小一直都是处于边缘的状态, 关闭虚拟机后,我 ...

  2. python基础(补充):列表生成器

    列表推导式是Python构建列表(list)的一种快捷方式,可以使用简洁的代码就创建出一个列表. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list ...

  3. Chrome扩展开发基础教程(附HelloWorld)

    1 概述 Chrome扩展开发的基础教程,代码基于原生JS+H5,教程内容基于谷歌扩展开发官方文档. 2 环境 Chrome 88.0.4324.96 Chromium 87.0.4280.141 B ...

  4. fiddler 手机抓包(含https) 完整流程

    第一部分:下载并安装fiddler 一.使用任一浏览器搜索[fiddler下载安装],并下载fiddler 安装包. 二.fiddler安装包下载成功后,将下载的fiddler压缩包解压到自定义文件夹 ...

  5. day18.进程2

    1 进程调度算法(了解) -先来先服务调度算法 -短作业优先调度算法 -时间片轮转法 -多级反馈队列 2 同步异步,阻塞非阻塞(了解) 1 同步调用:提交了以后,一直等待结果返回 2 异步调用:提交了 ...

  6. Day06_27_多态

    多态 最关键一句话: 父类引用 指向(=) 子类对象 Animal a = new Cat(); 什么是多态? 官方说: 接口的多种不同的实现方式即为多态. 多态性是允许你将父对象设置成为一个或更多的 ...

  7. 【全网首发】鸿蒙开源三方组件--强大的弹窗库XPopup组件

    目录: 1.介绍 2.效果一览 3.依赖 4.如何使用 5.下载链接 6.<鸿蒙开源三方组件>文章合集 1. 介绍 ​ XPopup是一个弹窗库,可能是Harmony平台最好的弹窗库.它从 ...

  8. 软件调研——GoodNotes 5与Notability

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 作业要求 我在这个课程的目标是 积累软件开发经验,提高工程能力 这个作业在哪个具体方面帮助我实现目标 深入调 ...

  9. 1035 Password

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  10. 10276 - Hanoi Tower Troubles Again!(思维,模拟)

    People stopped moving discs from peg to peg after they know the number of steps needed to complete t ...