将本地依赖包也一同打包

maven-assembly-plugin插件 0、背景   最近我们项目越来越多了,然后发现项目中都使用assembly插件进行打包的,于是就进行了深入的了解,本文分享该插件的配置以及微服务的统一打包方式。 一、介绍 maven提供的打包插件有如下三种: plugin function maven-jar-plugin maven 默认打包插件【springboot默认使用该方式打包】,用来创建 project jar maven-shade-plugin 用来打可执行包,executable(fat) jar 阅读详情

首先,你需要新建一个assembly.xml文件,路径可以随意,然后填入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
    <id>jar-with-dependencies</id>
    <formats>
        <format>jar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <!-- 默认的配置 -->
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>runtime</scope>
        </dependencySet>
        <!-- 增加scope类型为system的配置 -->
        <dependencySet>
            <outputDirectory>/</outputDirectory>
            <useProjectArtifact>true</useProjectArtifact>
            <unpack>true</unpack>
            <scope>system</scope>
        </dependencySet>
    </dependencySets>
</assembly>

接着,你的pom.xml的build配置也需要进行相应的修改

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>${maven.compile.source}</source>
                    <target>${maven.compile.target}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
          
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.quan.simple.IncFrame</mainClass>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>.</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptors>
                                <descriptor>assembly.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

容易疏忽的一点,在前面的plugins中加上

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.1.RELEASE</version>
                <configuration>
                       //这一行一定要加
                    <includeSystemScope>true</includeSystemScope>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                    <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Maven连同关联依赖一起打包成可执行jar Maven连同关联依赖一起打包成可执行jar 文章目录Maven连同关联依赖一起打包成可执行jar前言一、前提知识二、上代码连同仓库依赖一起打包连同本地依赖一同打包 前言 Maven可以使用mvn package指令对项目进行打包生成jar文件,如果直接使用java -jar xxx.jar指令运行jar文件,会出现”no main manifest attribute, in xxx.jar”(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误。 要想j 阅读详情

相关推荐

pyspark打包依赖包&使用python虚拟环境

一、anaconda创建python环境 anaconda创建python环境 在这篇博客中,已经很清楚地描述了如何通过anaconda来创建你需要的python环境:即合适的python版本和包含你需要的依赖包。 二、打包python环境 假设我们的python环境名称为py_env,那么在anaconda的安装目录下,envs/py_env 在Windows下,直接将使用压缩软件,将其压缩为zip文件; 在Linux下,zip py_env.zip py_env。(必须py_env文件夹所在的目录下执行

sgyuanshi的博客 9290

maven-assembly-plugin dependencySet 打包多出额外的依赖包

文章目录pom和插件配置问题解决 pom和插件配置 pom.xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration&gt

CL有毒 3891

最新CobaltStrike4.8/CobaltStrike4.9、CS4.9/CS4.8、 Windows/Linux/Mac版下载

Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。 Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,

weixin_43167326的博客 7972

Maven相关知识

exclusions:考虑这样一种情况,我们的projectA依赖于projectB,然后projectB又依赖于projectC,但是在projectA里面我们不需要projectB依赖的projectC,那么这个时候我们就可以在依赖projectB的时候使用exclusions元素下面的exclusion排除projectC。这种类型的依赖性是不可传递的。compile:这是它的默认值,这种类型很容易让人产生误解,以为只有在编译的时候才是需要的,其实这种类型表示所有的情况都是有用的,包括编译和运行时。

成年老猿的专栏 1304

ComfyUI的G-Dino模型加载器报错解决方案:从崩溃到重生

遇到G-Dino模型加载器报错不要慌,按照本文的步骤操作,99%的问题都能解决。模型文件正确下载到指定位置segment_anything节点安装完整且无冲突需要补充更多细节或故障排除方法吗?可以随时告诉我。

2301_78150483的博客 4023

Win11系统下Notepad++右键菜单失效?3种修复方法实测有效(附注册表备份指南)

本文针对Windows 11系统中Notepad++右键菜单失效的常见问题,提供了三种经过实测有效的修复方法。核心解决方案包括使用官方NppShell.dll重新注册、手动修复注册表项以及系统级问题排查,并详细说明了操作前的注册表备份指南,确保修复过程安全可靠。

m2n3b4v5c6的博客 328

Maven--<dependency>标签下参数详解

maven&lt; dependency &gt;标签下有各个子标签,如下所示: &lt;dependency&gt; &lt;groupId&gt;&lt;/groupId&gt; &lt;artifactId&gt;&lt;/artifactId&gt; &lt;version&gt;&amp

淡淡的倔强的博客 1万+

汽车OTA自动化测试解决方案

目前OTA远程升级技术已成为众多汽车制造商的标配。由于OTA升级可能会带来潜在的风险(特别是包含ECU固件更新的FOTA升级),针对OTA系统的测试过程就尤为重要。

东舟技术的博客 7760

maven打包--同时将仓库依赖和本地依赖的jar包也打进去

maven添加依赖 首先,如何在maven项目中添加依赖包?这个相信对于大部分人来说是非常简单的,在pom.xml文件如下配置: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> ...

sgyuanshi的博客 3万+

Pico设备手势追踪实战:5步搞定MRTK3手部模型与UI交互配置

本文详细介绍了在Pico设备上使用MRTK3实现手势追踪的5个关键步骤,包括环境配置、手部模型冲突解决、射线交互优化、UI交互配置及性能优化。通过实战案例和代码示例,帮助开发者快速解决MR开发中的常见问题,提升混合现实应用的交互体验。

onion的博客 499

【ArcGIS】07 ArcHydroTools对COM组件的调用返回了错误

在用Arc Hydro Tools提取流域时,在DEM Reconditioning时可能会遇到这个问题: 经过摸索,发现了问题产生的原因: 结果文件保存在了有中文的路径中。 解决的办法: 首先,把ArcGIS切换成英文版 搜索ArcGlS Administrator,以管理员方式打开 点击高级,选择语言为English 其次,新建mxd文档 删除原来的mxd文档,新建mxd文档,放置原来的图层文件。如果不这样做,最后一步的Map Name还会是“图层”这两个汉字。 最后,设置Arc Hydro T

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 4919

Androidstudio 将项目封装为SDK,并将其中的依赖包一起封装进去

最近在开发自己的SDK工具,想将一个项目封装成ARR供其他项目使用。但发现个问题,就是无法将SDK项目中的依赖包一起封装进去。 解决办法: 一、生成本地maven仓库步骤 1、新建一个Android 项目 2、将AndroidManifest修改为(不要有activity,包名换成自己的) <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/

hadese的博客 1596

YOLOv9 损失函数解析

YOLOv9作为YOLO系列的最新成员,在损失函数设计上进行了多项创新,重点优化了动态任务对齐机制、多模态定位损失融合以及跨层级梯度协同,进一步提升了检测精度与训练效率。

浩瀚之水的专栏 1293

maven 打包指定依赖包_maven打包加入依赖包以及加入本地依赖包的方法

Maven引入本地Jar包并打包进War包中1.概述在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。2. 拷贝至项目根目录项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示:这4个Jar包是识别网页编码所需的包。3. 配置pom.xml,依赖本地Jar配置Jar的dependency,包括g...

weixin_33181159的博客 6661

Allegro输出光绘文件规范

添加钻孔表的具体步骤为:1.通过屏幕右边的Visibility选项的Views列表,将Drill层打开2.将Visibility选项中的PIN和Via选项都选中,见下图所示: 参数设好之后关闭NC Drill/Parameters窗口,输出数控机床钻孔文件的命令菜单为:Manufacture=>NC=>NC Drill…,打开的窗口如下: 输出数控机床钻孔文件的具体步骤为: 上图是光绘输出的层控制窗口,还有一个窗口是输出参数的控制窗口,我们通过点击上图的第二个列表项General Parameters来

axingxiansen的博客 2808

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

解决maven项目打包时处理本地依赖包的问题

将本地引入的依赖包生成maven坐标后通过pom引入mvn install将本地依赖包生成maven坐标 由于之前一直是在基于osp环境下进行开发,没怎么使用过springboot,简直像个假的程序员///,所以正好趁最近有个小需求,练练springboot入门,包括基础的配置、打包、idea使用小技巧等等都会记录一下,免得自己脑子不好哪天又忘了~ 在进行开发时,如果遇到需要引入本地依赖包的情况,没有办法像其他maven可以直接从远端下载到的依赖包一样通过<dependency>直接引入,而通过

semperhoney的博客 1505

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

java打包时打入本地依赖包

java打包时打入本地依赖包方案1:将所有依赖写入jar包方案2:打包时在MANIFEST.MF文件中写入jar包依赖 在某些情况下,需要进行本地依赖包引入.但如果配置不当很容易出现NoClassDefFoundError的报错. 目前正好进行sdk开发,因此整理打包时加入本地依赖包的方案与过程. 方案1:将所有依赖写入jar包 在某些情况下(如内网环境),第三方依赖包并不一定能够使用maven进行下载(如果没有Nexus服务器),且需要生成一个可单独使用的jar包(如sdk开发) 因此可以将所有的依赖都写

qq_39120741的博客 7819

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python依赖包离线打包和安装

python的pip是其包管理工具,相当方便好用。本文只介绍pip如何通过其freeze命令打离线包,download离线包下载,及其install离线包的安装。

满天点点星辰的博客 3745

maven打包成可执行jar,本地依赖包打包失败的问题

上一篇我们讲了,怎么用javadoc和Doclet配合解析自己想要的注释(链接)。既然是一个工具,自然就要生成可执行的jar包。这貌似是一个很合理的要求,然后坑就来了。 我上篇说的是直接复制的tool.jar到lib包下面,添加进资源包就可以了,但是maven项目肯定不能这样做的,这样不规范。我在网上去搜索了tools.jar的依赖教程。 &lt;dependency&gt; ...

LovePluto 8107

如何开发自己的npm依赖包,开发-本地调试-打包发布到自己的镜像库

如果希望打包的文件具有命名空间如@vue,只需修改pacakge.json的name,在前面加上命名空间,再执行步骤2的打包命令。

lingliu0824的博客 7776

maven打包加入依赖包以及加入本地依赖包的方法

Maven引入本地Jar包并打包进War包中 1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来。 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 这4个Jar包是识别网页编码所需的包。 3. 配置pom.xml,依赖本地Jar ...

b129266314387022的博客 736

python依赖如何打包_python 打包依赖包&安装

【前提】:已安装pip,下载地址https://pypi.python.org/pypi/pip【步骤一】:打包已安装的依赖包pip freeze >requirements.txt#生成已安装包清单如本地保留了之前下载的各依赖包,直接将各whl/tar/zip包保存到某个文件夹下,如/opt如本地未保留之前下载的各依赖包whl/tar/zip包,则需要用下面的命令从网络下载到/optpip...

weixin_39588419的博客 3092

mave 项目打包,没有将依赖包打进来的问题

然后,供给其他项目使用,发现项目中的相关依赖包并未引入,而且其他项目在运行时出现错误。打包时,默认不会将第三方依赖包打进来。

光头小小强007的博客 7581

关于IDEA使用Maven工具打包带有本地依赖包的项目 在部署时 仍然找不到本地依赖包中某个类,发生ClassNotFoundException的异常

关于IDEA使用Maven工具打包带有本地依赖包的项目 在部署时 仍然找不到本地依赖包中某个类,发生ClassNotFoundException的异常参考文章1 运行时环境介绍(非部署环境)1.1 开发环境1.2 Maven的pom文件关于Maven工具的环境2 问题实质与解决方案2.1 问题描述2.1.1 本地依赖包的实际路径2.1.2 pom文件的声明代码2.1.3 maven运行时打包已经完美成功2.1.4 将生成的jar包放在目标环境中部署时(一个linux环境)发生了ClassNotFoundEx

New_joined_lion的博客 2038

Springboot工程依赖包与执行包分离打包与构建docker 镜像

某大数据项目,使用springboot常规打包方式,打出来的一体化执行包达几百兆, 分析jar 结构,其中的依赖包达几百个,占据99%以上的体积。考虑到在迭代开发小版本升级发布期间,依赖包几乎不会发生变化。迫切需要将依赖包和执行包分离,部署时在依赖包不变的情况下只更新执行包,可提升发布效率。下面我们以工程为例来说明操作过程。

爱码少年 00fly.online 的博客 2万+

maven打包本地依赖包

在要使用本地包中添加依赖 <dependency> <groupId>com.bdyh.common</groupId> <artifactId>common</artifactId> <version>0.0.1</version> ...

田培融的博客 3359
上一篇: spring security登录后访问接口403
下一篇: 外部依赖不能一起打包问题
Lp;
博客等级 码龄9年 10粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值