IDEA中的打包Build Artifacts详解

        现在大家是不是很少遇见自己打包部署项目了,因为现在都是自动化部署,所以基本大的公司都没有了这一步。当项目开发完毕,需要对外发布时,我们就会用到IDEABuild Artifacts功能,那么如果在idea中打包呢。

        在没有创建Artifact时,菜单“Build”|"Build Artifacts..."是灰化的,不可用。所以,第一步是进入project structure创建Artifact。

        

选中"Artifacts",点击中间上面的“+”号,选中“From modules with dependencies...”如下图:

弹出如下窗口:

Module下拉框中选中需要打包的Module,

Main Class框中选择主类。

JAR files from libraries有两个选项:

        1、extract to the target JAR:表示将第三方JAR包内容都解压并统一打包到最后生成的JAR包。

        2、copy to the output directory and link via menifest:表示将第三方JAR包内容拷贝到输出目录。

         如果你只是希望打包Module本身,可以选择“extract to the target JAR”;如果希望打包Module的同时,也将第三方的JAR一起打包,可以选择“copy to the output directory and link via menifest”。因为我们希望保持第三方JAR包的独立性。

Directory for META-INF/MENIFECT.MF

这里是输入一个路径,用于保存MENIFECT.MF文件,使用默认的路径即可,也可以自己输入一个任意的路径。如果后面提示:

                        

就可以选择换一个路径,或将该路径下的MENIFEST.MF文件删除后重试。

Include tests

如果选中,打包时将会把测试用例(Tests)类也打包进去。通常不用选中。

设置好的创建如下图:

点击OK按钮,进入下一个页面:

Name 输入框中可以修改Artifact的名称(不是生成的jar文件的名称)。

如果希望修改生成的jar文件的名称,需要右键点击Output Layout框中的根节点,选择rename,如下图:

Output Layout 中,你可以添加或删除需要打包的内容。这里需要重点说一下:

1. 只打包Module本身

就可以删除第三方的JAR ,删除后的情况大致如下:

这时,打包后的JAR包中,就只包含这个Module的class,不会包含第三方JAR

2.打包全部

也就是说希望打包自己编写的代码以及第三方的JAR包,这时,建议点击下图箭头所指的图标,创建一个libs目录,将第三方的JAR包拷贝到libs目录。

创建好libs目录,并将第三方JAR包拖动到libs目录下,如下图所示:

这样就设置完成了。点击OK按钮完成设置。

注意:这里只是完成了Artifacts的设置,并没有进行实际的打包动作。这时,需要点击“Build”|"Build Artifacts..."菜单,

选择你刚刚创建的Artifact名称,并点击build菜单,才能完成打包动作,如下图:

打包完成后,可以在工程目录的out\artifacts目录下,看到打包的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/460156.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

金蝶云星空,怎么做BI数据可视化分析?

金蝶云星空是一个流程管理方面的软件,如果想要做BI数据可视化分析,还就需要一套BI方案,即一套奥威BI软件金蝶云星空BI方案。 奥威BI软件,负责提供平台和技术;金蝶云星空BI方案,则提供标准化的数据分析模型…

自动化脚本-图片验证码识别登陆

安装依赖包 pip install requests requests 模块是 Python 中一个常用的 HTTP 库,用于发送 HTTP 请求和处理 HTTP 响应。它提供了简洁而友好的 API,使得在 Python 中进行 HTTP 请求变得十分方便(本文用于进行验证码下载) pip ins…

计算机考研|双非一战135上岸,408经验分享+复盘

计算机专业的同学真的别想的太天真! 相比于其他专业,计算机专业的同学其实还是很有优势的 但是现在随着计算机专业的同学越来越多,找工作的困难程度以及学历自然而然被卷起来了 以前的算法岗基本要求在本科以上,现在基本都是非92研…

FPGA静态时序分析与约束(四)、时序约束

系列文章目录 FPGA静态时序分析与约束(一)、理解亚稳态 FPGA静态时序分析与约束(二)、时序分析 FPGA静态时序分析与约束(三)、读懂vivado时序报告 文章目录 系列文章目录前言一、什么是时序约束&#xff1…

LinuxU盘挂载原理,为什么要用到U盘挂载及实现U盘挂载

目录 一、U盘挂载原理 二、为什么要用到U盘挂载 三、实现U盘挂载 一、准备工作 1、安装gcc 2、下载ntfs-3g 3、解压 4、编译准备 5、编译并安装 二、挂载演示 一、U盘挂载原理 Linux的U盘挂载原理涉及以下几个方面: 设备识别:当您将U盘插入Lin…

iOS 腾讯Pag动画框架-实现PagView的截图功能

背景 产品想要一个首页的截图功能,一听这个功能,心想那还不简单,将父视图控件转换成图片保存就行了。按照这个思路实现,很快就打脸啦,首页的这些动画一个都没有截出来,就像消失啦似的。然后蠢蠢的将动画暂…

HTML—标签的分类,span和div标签,不同的标签之间类型转换

标签的分类: ①块级标签:无论内容多少,会充满整个行。大小可自定义 例:p,h1,ul,ol,hr 等 ②行级标签:自身的大小就是标签的大小,不会占一整行。大小不可调 例…

人工智能程序使用的编程语言

用C语言可以写人工智能程序吗? 可以用C语言编写具有人工智能功能的程序,但是较为复杂。C语言是一种通用的编程语言,它在执行速度和资源控制方面表现出色,这使得它适合于需要高性能处理的人工智能应用,如游戏AI&#xf…

三种方式使用纯 CSS 实现星级评分

本文介绍三种使用纯 CSS 实现星级评分的方式。每种都值得细品一番~ 五角星取自 Element Plus 的 svg 资源 <svg xmlns"http://www.w3.org/2000/svg" viewBox"0 0 1024 1024" style""><pathfill"currentColor"d"M283.84 …

MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段内…

Django之图形验证码

Django之图形验证码 目录 Django之图形验证码【1】静态图片【2】视图层绑定静态文件【3】PIL生成图片(固定背景)【4】将图片存储在内存【5】生成文本信息【6】实现图片刷新 【1】静态图片 最基础的生成图片就是获取静态文件 <div style"margin-left: 10px;">…

idea+vim+pycharm的块选择快捷键

平时开发的时候&#xff0c;有的时候我们想用矩形框住代码&#xff0c;或者想在某列上插入相同字符 例如下图所示&#xff0c;我想在22-24行的前面插入0000 1. Idea的快捷键&#xff1a;option 鼠标 2. Pycharm的快捷键&#xff1a;shift option 鼠标 2. Vim 块选择 v/V/c…

Python读取Excel工作表数据写入CSV、XML、文本

Excel工作簿是常用的表格格式&#xff0c;许多数据呈现、数据分析和数据汇报都是以Excel工作表的形式进行。然而&#xff0c;在实际的数据管理、分析或自动化流程构建过程中&#xff0c;我们常常需要将这些Excel中的数据迁移至更其他数据系统&#xff0c;或者以文本形式存储以便…

AI日报:欧盟人工智能法案通过后行业面临合规障碍

文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁&#xff0c;并有可能彻底禁止某些系统。 违反规定的公司可能面…

4、鸿蒙学习-@ohos.promptAction (弹窗)

创建并显示文本提示框、对话框和操作菜单。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 该模块不支持在UIAbility的文件声明处使用&#xff0c;即不能在UIAbility的生命周期中调用&#xff0c;需要在创建…

音频占用磁盘空间太多 需要把mp3音频转aac音频缩小占用空间 应该怎么操作?

一&#xff1a;什么是aac格式&#xff1f; aac是一种音频压缩格式&#xff0c;它是MPEG-2标准下的一种音频压缩方式&#xff0c;也可以作为HE-AAC&#xff0c;AAC或AAC-LC格式使用&#xff0c;是音频压缩领域中的一种重要格式。与MP3的比较&#xff0c;aac在保证音质的同时可以…

C++类与对象二

目录 一、类的嵌套 二、对象引用私有数据成员 通过公有函数为私有成员赋值 利用指针访问私有数据成员 利用函数访问私有数据成员 利用引用访问私有数据成员 三、成员函数重载 四、this指针 一、类的嵌套 #include <iostream> using namespace std;class CC1 { p…

Tomcat会话保持

文章目录 Tomcat会话保持1、代理服务器配置2、web服务器配置3、会话保持3.1 方法一&#xff1a;修改代理服务器配置&#xff08;nginx&#xff09;3.2 方法二&#xff1a;修改web服务器配置&#xff08;tomcat&#xff09;访问官方文档&#xff0c;查看需要添加的配置文件修改t…

C++STL栈与队列的实现

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

【Streamlit学习笔记】实现包含多个sheet的excel文件下载

1、什么是Streamlit Streamlit是一个免费的开源框架&#xff0c;用于快速构建和共享漂亮的机器学习和数据科学Web应用程序&#xff0c;官网链接 Streamlit Streamlit API链接 API reference 实际项目中遇到的问题&#xff1a;包含多个sheet的excel文件下载&#xff0c;下面将给…