IDEA中项目的两种打包方式
本文主要介绍在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中项目的两种打包方式的更多相关文章
- 关于springboot项目的jar和war两种打包方式部署的区别
关于springboot项目的jar和war两种打包方式部署的区别 关于springboot项目的jar和war两种打包方式部署的区别? https://bbs.csdn.net/topics/392 ...
- Springboot中IDE支持两种打包方式,即jar包和war包
Springboot中IDE支持两种打包方式,即jar包和war包 打包之前修改pom.xml中的packaging节点,改为jar或者war 在项目的根目录执行maven 命令clean pa ...
- maven的两种打包方式
1.maven目前在web上面的使用方式很普遍,而打包的方式也存在很多方式 2.因为涉及一个项目调用另外一个项目的包,并将另外一个项目打成jar的形式便于管理 3.maven打包第一种方式: 将项目检 ...
- Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...
- Java中匿名类的两种实现方式(转)
使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...
- 软件公司的两种管理方式 总体来说,这个世界上存在两种不同的软件公司的组织结构。我把他们叫做 Widget Factory(小商品工厂) 和 Film Crews(电影工作组
软件公司的两种管理方式 一个简单的回答应该是——“因为在我们的社会里,我们总是会认为薪水和会和职位的层次绑在一起”.但是,这个答案同时也折射出一个事实——我们的薪资是基于我们的所理解的价值,但这并没有 ...
- 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解
1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...
- Storm 学习之路(六)—— Storm项目三种打包方式对比分析
一.简介 在将Storm Topology提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插 ...
- Storm 系列(六)—— Storm 项目三种打包方式对比分析
一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任 ...
随机推荐
- DOM-BOM-EVENT(7)
7.事件深入 7.1.事件捕获 事件流分为事件冒泡和事件捕获两种,事件冒泡指事件从里往外传播,而事件捕获刚好相反,指事件从外向內传播 <!DOCTYPE html> <html la ...
- max depth exceeded when dereferencing c0-param0的问题
在做项目的时候,用到了dwr,有一次居然报错,错误是max depth exceeded when dereferencing c0-param0 上网查了一下,我居然传参数的时候传的是object类 ...
- springboot + rabbitmq 用了消息确认机制,感觉掉坑里了
本文收录在个人博客:www.chengxy-nds.top,技术资源共享,一起进步 最近部门号召大伙多组织一些技术分享会,说是要活跃公司的技术氛围,但早就看穿一切的我知道,这 T M 就是为了刷KPI ...
- Spring Boot2.x 的Druid连接池配置[附带监控]
父依赖[Spring Boot 2.1.x版本] <parent> <groupId>org.springframework.boot</groupId> < ...
- 学习前端的时候,突然想起了Sharepoint母版页里的占位符,算知识的融会不?
今天看到这个段话,我就想起来当时学习Sharepoint的时候,总是搞不明白我们老师讲的那个母版页里的占位符到底是干啥的.现在看到了类似的东西,让我想起来了之前一直搞不懂的东西,很感慨. (完)
- angular弹出对话框结构
angular dialog标准结构,注意有checkbox时,需要外包一层div,checkbox-wrapper类的这个样式控制了不显示滚动条.
- 小米商城项目(JSP+Servlet项目)
小米商城项目 项目已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号 码出Offer 领取各种学习资料! 在这里插入图片描述 基于Servlet+JSP开发的小米商城项目,因为 ...
- django 缓存(memcached)
Django提供了6种缓存方式 开发调试缓存 内存缓存 文件缓存 数据库缓存 Memcache缓存(使用python-memcached模块) Memcache缓存(使用pylibmc模块) 常使用的 ...
- [JAVA]多线程之实现Callable接口
通过继承Callable方式实现的多线程可以获取线程执行后的返回值 示例代码如下: public class Counter implements Callable<Integer> { ...
- 《SpringBoot判空处理》接开@valid的面纱
一.事有起因 我们在与前端交互的时候,一般会遇到字段格式校验及非空非null的校验,在没有SpringBoot注解的时候, 我们可能会在service进行处理: if(null == name){ t ...