idea 项目代码打包为jar包详解

news2025/7/19 11:23:43

目录

  • 前言
  • 一、将所有依赖和模块代码打包为一个jar
  • 二、只将模块代码打包为一个jar

前言

假设我有如下简单 maven 项目
在这里插入图片描述

点击 File ==> Project Structure ==> Artifacts ==> 点击加号 ==> 选择JAR ==> 选择From modules with dependencies

在这里插入图片描述

一、将所有依赖和模块代码打包为一个jar

如果你想把所有项目依赖的其他库和代码打成一个jar,可以选择extract to the target JAR 。比如如果你项目里依赖了fastjson.jar等第三方 jar,可以把这些第三方 jar 也打到最终生成的 jar 里面。

  • 1.先选择你要打包的模块和启动类,然后选择extract to the target JAR ,点击ok
    在这里插入图片描述

  • 2.确认要生成的 jar 名称(默认是项目或模块名),确认 jar 包的输出的目录,确认最终输出的 jar 里包含的依赖(我这里包含了14个其他依赖和项目代码,如果不想包含第三方依赖可以选中相关依赖点击减号进行排除),点击 Apply 和 Ok
    在这里插入图片描述

  • 3 . 点击 Build ==> Build Artifacts
    在这里插入图片描述
    先点击 clear 进行清除,然后再点击 Build 进行构建,就可以打成一个jar包了
    在这里插入图片描述
    在这里插入图片描述

  • 4.构建打包提示成功后就可以在输出目录里找到打好的 jar 包了
    在这里插入图片描述

二、只将模块代码打包为一个jar

如果你不想把所有项目依赖的其他库和代码都打成一个 jar,可以选择copy to the output directory and link via manifest 。比如,如果你项目里依赖了 fastjson.jar 等第三方 jar,这些第三方 jar 不会被打到最终生成的jar里面,只会把这些依赖的 jar 和最终生成的 jar 输出到一个目录下。

  • 1.先选择你要打包的模块和启动类,然后选择copy to the output directory and link via manifest ,点击ok
    在这里插入图片描述
    2.确认要生成的 jar 名称(默认是项目或模块名),确认 jar 包的输出的目录,确认项目使用到的依赖,点击 Apply 和 Ok在这里插入图片描述

  • 3.点击 Build ==> Build Artifacts

  • 在这里插入图片描述
    先点击 clear 进行清除,然后再点击 Build 进行构建,就可以打成一个 jar 包了
    在这里插入图片描述
    在这里插入图片描述

  • 4.构建打包提示成功后就可以在输出目录里找到打好的 jar 包了,另外项目依赖的其他 jar 包也会输出到这个目录

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【树莓派不吃灰】命令篇⑨ 记录学习文件系统

目录1. 外部存储设备1.1 分区挂载1.2 查看磁盘信息(包括未挂载磁盘)1.2.1 mmcblk0p01.2.2 sda1(额外了解)1.3 查看UUID1.4 查看文件系统挂载情况2. 文件系统2.1 索引式文件系统2.1.1 EXT2 文件系统(了解)2.…

Android 序列化框架 Gson 原理分析,可以优化吗?

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 Gson 是 Google 推出的 Java Json 解析库,具有接入成本低、使用便捷、功能扩展性良好等优点,想必大家都很熟悉了。…

ES6 入门教程 25 Module 的加载实现 25.4 循环加载

ES6 入门教程 ECMAScript 6 入门 作者:阮一峰 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录ES6 入门教程25 Module 的加载实现25.4 循环加载25.4.1 CommonJS 模块的加载原理25.4.2 CommonJS 模块的循环加载25.4.3 ES6 模块的循环加…

MobPush Android 快速集成

开发工具:Android Studio 集成方式:Gradle在线集成 安卓版本支持:minSdkVersion 19 集成准备 注册账号 使用PushSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可…

Gitblit自建仓库及多人使用

上稿已完成了Git Server部署了,现在开始创建仓库及笔者常用的IDE使用 第一步:SSH密钥生成,并保存到GitBlit 正常Git都会用到的server SSH Keys,这里自建同样少不了 【问题直接在CMD输入命令,直接切菜,笔…

ShardingSphere (一)

ShardingSphere (一) ShardingSphere-JDBC 与 SpringBoot 集成 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖…

气人|这种通过率调优技巧居然这么晚才让我知道

量化风控审核过程中的通过率在贷前策略中是一大重要的内容,另外一个是逾期率。二者之间的因果关系就是通过率高低变化决定了逾期率风险的走势,通过率决定了逾期率的结果,而逾期率又对通过率起到了一个制衡的作用。 很多的风险管理人员常常会遇…

前端实现克里金插值分析(一)

作者:yangjunlin 最近不少小伙伴问我怎么搞前端插值分析,我在github上查找了一些资料,目前最常用的方式是webgis框架idw(反距离权重算法)d3-contour的方式实现,这种方式是比较简单同时基本能满足一般的气象分析&#x…

Netty入门学习

同步:当调用方法的线程和接收结果的线程是同一个,这意味着阻塞,那么是同步。 异步:当调用方法的线程和处理结果的线程不是同一个,这意味着不是阻塞,是异步。 下图是一个简单的Netty的客户端和服务器端 【…

论文阅读笔记 | 三维目标检测——VoxelNet算法

如有错误,恳请指出。 文章目录1.背景2. 网络结构2.1 体素特征表示2.2 卷积特征提取2.3 RPN网络3. 实验结果paper:《VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection》 1.背景 以往的3d检测器都难免利用了手工设计特征(hand-…

ES6 入门教程 29 ArrayBuffer 29.1 ArrayBuffer 对象

ES6 入门教程 ECMAScript 6 入门 作者:阮一峰 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录ES6 入门教程29 ArrayBuffer29.1 ArrayBuffer 对象29.1.1 概述29.1.2 ArrayBuffer.prototype.byteLength29.1.3 ArrayBuffer.prototype.s…

善网ESG周报(第二期)

ESG报告: 聚焦五大战略,信公股份首次披露ESG报告 近日,信公股份发布首份ESG报告,报告主要涵盖可持续发展战略、高效现代的公司治理、可持续的商业模式与创新、传递社会影响力和守护地球家园等几个维度。 能链智电发布ESG报告&a…

SpringBoot——指标监控,自定义指标监控

为什么要进行指标监控? 在微服务架构中多个组件部署以后,我们需要能够监控到每个组件的健康情况,因此SpringBoot抽取了Actuator用于监控组件。 1.Java自带的监控工具(不推荐) 步骤: winr输入cmd 回车 进…

广告机联物联卡联网的优势?

广告机联物联卡联网的优势? 随着技术的发展、物联网技术的应用、物联网卡的授权,广告模式也在悄然发生变化,从传统的电视、报纸、杂志等广告模式逐渐转变为建筑之间的广告机。最常见的是地铁、公交车等公共区域设置的广告机或广告屏幕。 一…

67. SAP ABAP 监控用户事物码和程序执行的工具介绍

本文咱们不谈 ABAP 代码编写,而是介绍 SAP ABAP 系统里,如果想查找某个用户在某个时间段之内,在系统干了哪些事情,应该具体如何去做,SAP 又是提供了哪些工具来满足这种监控需求。 本文写作动机来源于一位朋友向我发起的咨询: 我们抛开 SAPGUI Script 这个因素不谈,本文…

第七章《Java的异常处理》第2节:异常的分类及处理方法

异常可以分为多种类型,Java语言允许程序员使用不同的方式来处理不同种类的异常,这样可以实现对异常的精细化处理。 7.2.1异常的分类 7.1小节中提到Exception是用来表示异常的类,但Exception并非Java语言中唯一用来表示异常的类,它只是庞大的异常类家族中的一员。下图7-7就…

[附源码]java毕业设计游戏网站设计

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

第八章 动态规划 5 AcWing 1591. 快速排序

第八章 动态规划 5 AcWing 1591. 快速排序 原题链接 AcWing 1591. 快速排序 算法标签 DP 思路 直接枚举a[i]之前所有元素与a[i]之后所有元素 判断 时间复杂度 O(N2)O(1010)O(N^2)O(10^{10})O(N2)O(1010) 超时 a[i]之前所有元素小于a[i] ,即小于a[i]之前所有元…

YOLO算法(You Only Look Once)系列讲解与实现(待完善)

文章目录前言一、指标分析1.mAP (mean Average Precision)2.IOU二、YOLO1.YOLO-v1(1)步骤(2)网络结构(3)损失函数(4)存在问题2.YOLO-v2(1)新的尝试-Better&am…

Pod的生命周期

Pod的生命周期 与容器一样,Pod也有生命周期,Pod在整个生命周期中被定义为各种状态。了解这些状态对于后面我们学习Pod的调度是有帮助的。 Pending 挂起状态,Pod已经被K8s系统所认可,但是目前还有一个或多个容器镜像还没有被创建&…