maven-plugin-shade 详解1
maven-plugin-shade 是 Maven 的一个插件,它的作用是将多个 jar 包合并成一个 jar,同时将其中的依赖关系也合并到该 jar 中。这个插件常用于创建可执行 jar 包和打包 web 应用程序。
下面是 maven-plugin-shade 的一些常用配置:
-
打包的形式:可以设置打包成一个可执行的 jar 包或者一个普通的 jar 包。
-
排除依赖:可以设置排除某些依赖,避免重复打包。
-
过滤资源:可以通过配置来过滤掉一些不需要打包的资源。
-
重新定位依赖:如果合并后的依赖不能与原来的 jar 包兼容,可以通过重新定位的方式来解决。
-
转换类文件:可以对 class 文件进行转换,比如修改包名或类名等。
使用 maven-plugin-shade 打包 jar 包的步骤如下:
-
在 pom.xml 文件中添加 maven-shade-plugin 插件。
-
配置要合并的 jar 包以及排除的依赖、过滤资源等信息。
-
运行 Maven 命令进行打包。
示例:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.1</version><configuration><createDependencyReducedPom>true</createDependencyReducedPom><shadedArtifactAttached>true</shadedArtifactAttached><shadedClassifierName>executable</shadedClassifierName><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>${mainClass}</mainClass></transformer></transformers><filters><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration></plugin></plugins>
</build>
在配置中,我们设置了要创建一个可执行的 jar 包,并指定了 mainClass。同时,我们设置了过滤规则,排除了一些不需要打包的文件。
运行 Maven 命令 mvn package 进行打包,就会在 target 目录下生成一个可执行的 jar 包。
相关文章:
maven-plugin-shade 详解1
maven-plugin-shade 是 Maven 的一个插件,它的作用是将多个 jar 包合并成一个 jar,同时将其中的依赖关系也合并到该 jar 中。这个插件常用于创建可执行 jar 包和打包 web 应用程序。 下面是 maven-plugin-shade 的一些常用配置: 打包的形式&…...
C#中LinkedList、Queue<T>和Stack<T>的使用
1、LinkedList(链表) 链表中元素存储内存中是不连续分配,每个元素都有记录前后节点,节点值可以重复,不能通过下标访问,泛型的使用保证类型安全,可以避免装箱拆箱,找元素就只能遍历,查找不方便&…...
流程图如何制作?好用的11款流程图软件盘点!
流程图是一种强大的可视化工具,用于清晰地展示各种过程和步骤,应用非常广泛,在各个行业中随处可见,凡是涉及流程步骤的场景,都可以用到流程图,那么问题来了:流程图如何制作? 这篇文…...
windows本地文件上传linux 或 linux输入rz命令后出现receive.**B0100000023be50
这种现象需要客户端支持,或者使用Xshell工具等 但是有一种简单的方法,使用 sftp rootip地址 // 比如 sftp root127.0.0.2 当然,你要记得登录远程节点的密码:...
C# CodeFormer Inpainting 人脸填充
效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace CodeFormer_D…...
将Sketch文件转化为PSD文件的简单在线工具!
设计工作不仅需要UI设计工具,还需要Photoshop。常见的UI设计工具Sketch与Photoshop软件不兼容。如果你想在实际工作中完成Sketch转psd,你需要使用其他软件进行转换。但是在转换过程中容易丢失文件,导致同样的工作需要重复多次才能完成&#x…...
【广州华锐互动】利用AR进行野外地质调查学习,培养学生实践能力
在科技发展的驱动下,AR(增强现实)技术已经在许多领域中找到了应用,包括医疗、教育、建筑和娱乐等。然而,有一个领域尚未充分利用AR技术的潜力,那就是野外地质调查。通过将AR技术引入到这个传统上需要大量人…...
Jmeter快速入门
引言 对于初学者来说,可能会觉得jmeter有些难入手。不过,别担心!在我开始使用Jmeter之前,也曾面临着同样的问题。 但是,通过一番尝试和学习,我现在可以自如地运用Jmeter进行性能测试了。 接下来…...
详解js数组操作——filter()方法
引言 在JavaScript中,我们经常需要对数组进行筛选,以便根据特定的条件获取所需的元素。而JavaScript的filter()方法就是一个非常有用的工具,它可以帮助我们轻松地筛选数组中的元素。本文将介绍如何使用filter()方法,以及一些实用…...
基于MATLAB的图像条形码识别系统(matlab毕毕业设计2)
摘要 : 本论文旨在介绍一种基于MATLAB的图像条形码识别系统。该系统利用计算机视觉技术和图像处理算法,实现对不同类型的条形码进行准确识别。本文将详细介绍系统学习的流程,并提供详细教案,以帮助读者理解和实施该系统。 引言…...
F5.5G落进现实:目标网带来的光之路
数字化与智能化的世界将走向何方?这个问题有着非常复杂的答案,但其中有一个答案已经十分清晰。那就是智能化的下一步,必将走向泛在万兆的世界。 网络是算力联接的底座,是智能演化的基础。纵观每一代数字化升级,都可以发…...
Python调用c++生成的dll
Python调用c生成的dll 1.简单例子1.1 vs2019 c生成dll1.2 Python端调用 2.调用c类生成的dll2.1 vs cpp端生成dll2.2 Python端调用 参考文献 1.简单例子 1.1 vs2019 c生成dll 项目中添加add.cpp文件 extern "C" int __declspec(dllexport) add(int x, int y) {retu…...
算法基础学习|二分
二分 模板 整数二分模板 bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid 1, r]时使用(即寻找左边界使用): int bsearch_1(int l, int r) {while (l < r){int mid l r >> 1;if (…...
mac M1 pro 安装grpc 报错
pecl install grpc # a few moments later 。。。。# 执行 php -i | grep grpc## 报错 PHP Warning: PHP Startup: Unable to load dynamic library grpc.so(tried: /opt/homebrew/lib/php/pecl/20190902/grpc.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/grpc.so, 0x0…...
交银国际:拼多多财报预测:主站盈利提升有望带动业绩超预期
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,交银国际今日发布关于拼多多第三季度财报预测:主站盈利提升有望带动业绩超预期的研报。交银国际主要观点如下: 预计拼多多(PDD)第三季度业绩将好于市场预期:我们…...
【SA8295P 源码分析 (二)】50 - OpenWFD Server 启动流程 之 wfd_server_tpp 线程池源码分析
【SA8295P 源码分析】50 - OpenWFD Server 启动流程 之 wfd_server_tpp 线程池源码分析 一、thread_pool 创建过程源码分析1、thread_pool_create()2、thread_pool_start()二、thread_pool_t *wfd_server_tpp 使用场景源码分析系列文章汇总见:《【SA8295P 源码分析 (二)】Disp…...
9.strspn函数
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h>/*----------------------函数解析----------------------*/ /*函数原型:size_t strspn(char const *str, char const* group) */ /*函数入参:从str第一个元素开始往后…...
电脑蓝牙与ESP32蓝牙连接,让电脑发现ESP32
win11蓝牙默认只查看常见蓝牙设备。ESP32创建的蓝牙很有可能是看不到的。 再蓝牙设备发现一栏选择高级,才能查看所有蓝牙设备。 只要下面几行代码,就能让PC发现ESP32 #include <BLEDevice.h> // 引入相关库void setup() {BLEDevice::init("…...
k8s 暴露pod
kubenretes中暴露Pod及Service的6种方式 ,分别为port_forward、hostNetwork、hostPort、nodePort、loadBalancer、Ingress。 下面讲下nodeport nodePort Kubernetes中的service默认情况下都是使用的ClusterIP这种类型,这样的service会产生一个Cluster…...
Apache Dubbo 首个 Node.js 3.0-alpha 版本正式发布
作者:蔡建怿 关于Apache Dubbo3 Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。经过近几年发展,Dubbo3 已在阿里巴巴集团各条业务线实现全面…...
青少年软编等考六级题解目录
这个专栏发布中国电子学会主办的青少年软件编程等级考试 C 语言六级题目解析,每篇文章包含一次考试的全部 444 道题目的思路解析。由于考级允许使用 C/C 语言,因此解析中给出的参考代码均为 C 代码。为了方便大家查找,特此发布一篇文章作为目…...
UMAP降维技术:拓扑数据分析驱动的高效可视化方案
UMAP降维技术:拓扑数据分析驱动的高效可视化方案 【免费下载链接】umap Uniform Manifold Approximation and Projection 项目地址: https://gitcode.com/gh_mirrors/um/umap 在高维数据可视化领域,研究者长期面临"鱼和熊掌不可兼得"的…...
YOLOv8在智慧农业中的落地实践:如何提升植物病害检测准确率到90%+
YOLOv8在智慧农业中的落地实践:如何提升植物病害检测准确率到90% 在智慧农业领域,植物病害的早期识别与精准诊断一直是技术攻关的重点。传统人工检测方式不仅效率低下,而且受限于专家经验,难以实现规模化应用。随着计算机视觉技术…...
vLLM-v0.17.1助力Java微服务:高并发下的模型推理集成方案
vLLM-v0.17.1助力Java微服务:高并发下的模型推理集成方案 1. 引言:当Java微服务遇见大模型推理 最近两年,大模型技术在企业应用中的落地速度远超预期。作为Java开发者,我们可能已经习惯了SpringBoot生态的舒适区,但当…...
游戏开发必备:Unity中三维坐标系转换的5种实战技巧(附代码)
Unity三维坐标系转换实战指南:从原理到代码实现 在游戏开发中,三维物体的旋转和坐标系转换是构建沉浸式体验的核心技术。无论是角色转向、镜头跟随还是物理模拟,开发者都需要精准控制物体在三维空间中的方位。Unity作为主流游戏引擎ÿ…...
高效智能抖音直播下载工具:一站式解决方案
高效智能抖音直播下载工具:一站式解决方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是否曾经为错过精彩的抖音直播而遗憾?是否想要保存喜欢的直播内容却苦于没有合适的工具&a…...
springboot-vue基于web的智慧校园学生信息管理平台设计和实现
目录技术栈选择系统模块划分开发流程规划关键代码示例(后端)部署方案扩展性考虑注意事项项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作技术栈选择 后端采用Spring Boot框架,提供RESTful AP…...
实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例
实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例 最近接手了一个资料大全的版本更新管理需求,需要搭建一个简单高效的内容管理系统。经过一番摸索,我发现用InsCode(快马)平台可以快速实现这个功能,整个…...
实践指南:借助LLaMa-Factory高效定制你的专属LLaMa3
1. 为什么选择LLaMa-Factory微调LLaMa3? 第一次尝试微调大语言模型时,我花了整整三天时间在环境配置上。从CUDA版本冲突到PyTorch依赖问题,各种报错让人崩溃。直到发现LLaMa-Factory这个"微调瑞士军刀",才明白原来大模型…...
大型系统构建与性能优化:缓存、负载均衡、分库分表与会话方案
大型系统的核心不是“堆技术名词”,而是: 识别瓶颈用架构手段把瓶颈拆开、绕开、扩展掉 这篇按“性能瓶颈 -> 分层架构 -> 数据与缓存 -> 会话管理”的主线整理。 面试与工程都通用的一句话方法论: 先观测(指标/日志/链路…...
