当前位置: 首页 > news >正文

springboot项目打包优化,将所有第三方包单独打包至lib目录

在pom.xml中配置以下代码,随后使用mvnw clean package打包

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 主类地址,如我的项目中主类是com/server目录下的ServerDemoApplication.java,配置就如下 --><mainClass>com.server.ServerDemoApplication</mainClass><executable>true</executable><layout>ZIP</layout><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration></plugin><!-- 将第三方包拷贝到lib目录 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin></plugins></build>

启动打包的jar文件

java -Dloader.path=./lib -jar xxx.jar

pom.xml(完整代码)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.1</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.server</groupId><artifactId>server_name</artifactId><version>0.0.1-SNAPSHOT</version><name>server_name</name><description>Demo project for Spring Boot</description><properties><java.version>17</java.version></properties><repositories><repository><id>alimaven</id><name>aliyun maven</name><layout>default</layout><url>http://maven.aliyun.com/nexus/content/groups/public/</url></repository></repositories><pluginRepositories><pluginRepository><id>alimaven</id><url>http://maven.aliyun.com/nexus/content/groups/public/</url></pluginRepository></pluginRepositories><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.32</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 主类地址,如我的项目中主类是com/server目录下的ServerDemoApplication.java,配置就如下 --><mainClass>com.server.ServerDemoApplication</mainClass><executable>true</executable><layout>ZIP</layout><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration></plugin><!-- 将第三方包拷贝到lib目录 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin></plugins></build></project>
http://www.lryc.cn/news/160467.html

相关文章:

  • 使用 Ccrypt 在 Linux 中加密/解密文件
  • poi3.10 excel xls 设置列宽行高背景色加粗
  • 揭秘分布式文件系统大规模元数据管理机制——以Alluxio文件系统为例
  • 微信小程序onReachBottom事件使用
  • 数据孤岛的突破口在哪里?
  • 【送书活动】全网超50万粉丝的Linux大咖良许,出书了!
  • 深入浅出学Verilog--基础语法
  • 基于Spring、SpringMVC、Mybatis的超市管理系统
  • spring中的@Configuration配置类和@Component
  • 企业架构LNMP学习笔记29
  • Ubuntu14.04离线安装gcc-5.3.0
  • axios返回几种数据格式? 其中Blob返回时的size是什么意思?
  • 【GO语言基础】基本数据类型
  • 【Python】OpenCV立体相机配准与三角化代码实现
  • 通过Idea或命令将本地项目上传至git
  • python selenium 爬虫教程
  • Linux基础知识及常见指令
  • 分享一个基于Python和Django的产品销售收入数据分析系统源码
  • UniTask保姆级教程
  • uni-app 可视化创建的项目 移动端安装调试插件vconsole
  • HOperatorSet.GenRandomRegions 有内存泄漏或缓存,释放不掉
  • 一维数组笔试题及其解析
  • 微信小程序源码
  • Browserslist 信息和配置使用整理
  • Matlab 如何选择采样频率和信号长度
  • TPTU: Task Planning and Tool Usage of Large Language Model-based AI Agents
  • 【Spring IoC容器的加载过程】
  • C++多文件类的声明与实现
  • 16 “count(*)“ 和 “count(1)“ 和 “count(field1)“ 的差异
  • 【云原生进阶之PaaS中间件】第一章Redis-1.4过期策略