本文主要介绍在IDEA中怎么打包,及可以用哪种方式打包。


若是有指正或补充的,欢迎留言~  ٩(●̮̃•)۶


接下来进入正题:

IDEA中打包需要先进行配置,so,我们先打开<abbr title:"Project Structure">Project Structure窗口。

打开方式很简单,直接快捷键Ctrl+Shift+Alt+S打开,也可以在项目左上角的Flie中打开。

打开Project Structure窗口后,选择Artifacts即可开始配置打包方式了。

1."From modules with dependencies…"打包

  使用这种打包方式,会将项目完整的一起打包。这样做的好处就是打好包后,不会缺类少类。

  选择“+”,点击“JAR”,在"Empty"和"From modules with dependencies…"中选择“From modules with dependencies…”。

  在弹出的“Create JRA from Modules”窗口中,添加项目的主程序类。必须选择第一个选项“extract to the target JAR”。

  需要注意:在向JAR包添加“META-INF/MANIFEST.MF”时,必须将其路径选择和src同一级目录,其他级别目录会导致打好的JAR包不可用。

  

  

2. "Empty"打包

  使用"Empty"打包的好处就是,可以只将自己需要用的类进行打包,无需将项目完全打包,避免jar包或war包过于庞大臃肿。

  选择“+”,点击“JAR”,"Empty"和"From modules with dependencies…"选择“Empty”。

  进行如下图的JAR目录结构的创建(最好按照原项目的结构进行创建)。

  

  在创建过JAR包目录后,将需要的.class类导入其中(注意:必须是编译后的.class类,否则打出来的jar包将会无类可用)如下图:

  

  在添加自己需要的.class文件后,还需要配置“META-INF/MANIFEST.MF”,如下图:

  

  配置过“META-INF/MANIFEST.MF”后,点击“Apply”,再点击“OK”即可,如下图:

  

以上就是在IDEA中两种打包的介绍和操作步骤。

值得思考的是,在打包的时候,无论是哪种方式,我们都需要向其添加“MANIFEST.MF”文件,那么这个文件到底有什么用呢?

想知道的小伙伴可以戳我≧◔◡◔≦

IDEA中项目的两种打包方式的更多相关文章

  1. 关于springboot项目的jar和war两种打包方式部署的区别

    关于springboot项目的jar和war两种打包方式部署的区别 关于springboot项目的jar和war两种打包方式部署的区别? https://bbs.csdn.net/topics/392 ...

  2. Springboot中IDE支持两种打包方式,即jar包和war包

    Springboot中IDE支持两种打包方式,即jar包和war包 打包之前修改pom.xml中的packaging节点,改为jar或者war    在项目的根目录执行maven 命令clean pa ...

  3. maven的两种打包方式

    1.maven目前在web上面的使用方式很普遍,而打包的方式也存在很多方式 2.因为涉及一个项目调用另外一个项目的包,并将另外一个项目打成jar的形式便于管理 3.maven打包第一种方式: 将项目检 ...

  4. Android中Fragment与Activity之间的交互(两种实现方式)

    (未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...

  5. Java中匿名类的两种实现方式(转)

    使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...

  6. 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组

    软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...

  7. 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解

    1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...

  8. Storm 学习之路(六)—— Storm项目三种打包方式对比分析

    一.简介 在将Storm Topology提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插 ...

  9. Storm 系列(六)—— Storm 项目三种打包方式对比分析

    一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任 ...

随机推荐

  1. Digix2019华为算法精英挑战赛代码

    Digix2019华为算法精英挑战赛代码 最终成绩: 决赛第九 问题 根据手机型号,颜色,用户偏好,手机APP等信息预测用户年龄. https://developer.huawei.com/consu ...

  2. git和github入门指南(3.1)

    3.远程管理 3.1.远程仓库相关命令 1.查看远程仓库名字,这里以github为例 git remote 上面命令执行后会得到:origin,这样一个名字,这个名字是我们克隆的时候默认设置好的 如果 ...

  3. [区间+线性dp]数字游戏

    题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共\(n\)个),你要按顺 ...

  4. python冷知识

    目录 省略号也是对象 奇怪的字符串 and 和 or 的取值顺序 访问类中的私有方法 时有时无的切片异常 两次 return for 死循环 intern机制 省略号也是对象 在python中一切皆对 ...

  5. python之浅谈编程语言

    一.编程语言的分类 机器语言(低级语言) 可以直接和硬件交互,用0和1和计算机沟通 优点:执行效率高(因为可以直接和计算机沟通) 缺点:开发效率低(都是用0和1进行编码) 汇编语言 同样可以直接和硬件 ...

  6. 比Minikube更快,使用Kind快速创建K8S学习环境

    简述 K8S 如火如荼的发展着,越来越多人想学习和了解 K8S,但是由于 K8S 的入门曲线较高很多人望而却步. 然而随着 K8S 生态的蓬勃发展,社区也呈现了越来越多的部署方案,光针对生产可用的环境 ...

  7. 缓存数据库之redis

    NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题 N ...

  8. POJ 3057 Evacuation 题解

    题目 Fires can be disastrous, especially when a fire breaks out in a room that is completely filled wi ...

  9. centos7篇---开启防火墙和特定端口

    开启防火墙服务 以前为了方便,把防火墙都关闭了,因为现在项目都比较重要,害怕受到攻击,所以为了安全性,现在需要将防火墙开启,接下来介绍一下步骤.1, 首先查看防火墙状态: firewall-cmd - ...

  10. 使用@AutoConfigureBefore、After、Order调整Spring Boot自动配置顺序

    前言 Spring Boot是Spring家族具有划时代意义的一款产品,它发展自Spring Framework却又高于它,这种高于主要表现在其最重要的三大特性,而相较于这三大特性中更为重要的便是Sp ...