gradle打包分离依赖jar

这篇具有很好参考价值的文章主要介绍了gradle打包分离依赖jar。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

正常打包的jar是包含项目所依赖的jar包资源,而且大多数场景下的依赖资源是不会频繁的变更的,所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身,减小上传的jar包总大小,能实现加速部署的效果

一 原本结构

gradle打包分离依赖jar,gradle打包分离依赖,打包分离依赖,gradle分离依赖,gradle瘦身,gradle打包瘦身

二 配置build.gradle

// 清除lib
task clearLib(type: Delete) {
  delete "$buildDir/libs"
}

// 拷贝lib
task copyLib(type: Copy) {
  into "$buildDir/libs/lib"
  from configurations.runtimeClasspath
}
bootJar {
  //archiveBaseName = 'boot'
  //version = '1.0.0'
  archiveFileName = 'boot.jar'

  excludes = ["*.jar"]

  // lib目录的清除和复制任务
  dependsOn clearLib
  dependsOn copyLib

  // 指定依赖包的路径,运行时不再需要指定 java.ext.dir 或 loader.path 参数。
  manifest {
    attributes(
      'Manifest-Version': '1.0',
      'Class-Path': configurations.runtimeClasspath.files.collect { "lib/$it.name" }.join(' ')
    )
  }
}

三 重新打包后目录

gradle打包分离依赖jar,gradle打包分离依赖,打包分离依赖,gradle分离依赖,gradle瘦身,gradle打包瘦身

打包后build/libs/lib就是依赖的jar包资源

boot.jar就是不含依赖资源的jar包,如果要根据项目名自动生成带版本号的jar包就把 bootJar中的archiveFileName 配置注释掉。

打包后只需把build/libs下的包一起分发即可运行文章来源地址https://www.toymoban.com/news/detail-823348.html

到了这里,关于gradle打包分离依赖jar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • SpringBoot 将 jar 包和 lib 依赖分离,dockerfile 构建镜像

    SpringBoot 将 jar 包和 lib 依赖分离,dockerfile 构建镜像

    Spring Boot 是一个非常流行的 Java 开发框架,它提供了很多便利的功能,例如自动配置、快速开发等等。 在使用 Spring Boot 进行开发时,我们通常会使用 Maven 或 Gradle 进行项目构建。 本文将为您介绍如何使用 Maven 将 Spring Boot 项目打包成可执行的 JAR 文件,并将 JAR 文件和依赖库

    2024年02月05日
    浏览(9)
  • maven 模块打包时包含依赖和打包可执行的jar

    maven 模块打包 1)maven 模块打包jar文件时,指定包含依赖(with-dependencies); 2)maven 模块打包jar文件时,指定入口MainClass、打包生成可执行的jar; vi qftools/common/src/main/java/com/xxx/qftools/common/Main.java package com.xxx.qftools.common; public class Main {     public static void main(String args[]) {    

    2024年02月14日
    浏览(21)
  • 打包jar服务,如何提取第三方依赖包

    很多时候有这个需求,编译源码的时候无法联网,需要把源代码和依赖包一起离线用。 那么怎么把可以联网的工程依赖包,下载后提供给无网环境用呢。war的很多时候是默认提供好的,那么maven打包jar包服务的,assembly.xml 配置需要增加以下内容: 再执行maven打包就可以了。所

    2024年01月25日
    浏览(8)
  • 如何将一个jar包打包成maven依赖

    参数含义: DgroupId :组id 【对应pom中的groupId】 DartifactId:项目id 【对应pom中的artifactId】 Dversion:版本号 【对应pom中的version】 Dfile:jar包的绝对路径 Dpackaging:是什么包 DgeneratePom:是否生成pom maven中的GAV:

    2024年02月13日
    浏览(11)
  • maven打包所有依赖,对外提供sdk.jar

    maven打包所有依赖,对外提供sdk.jar

    maven打包所有依赖 如何让引入自己sdk的spring扫描sdk下的类 新建配置类(@Import注解可以加载指定类至spring容器中) 新建如下目录以及文件  

    2024年02月11日
    浏览(11)
  • springboot+vue前后端分离项目打包成jar包及运行

    springboot+vue前后端分离项目打包成jar包及运行

    将 Spring Boot 和 Vue.js 项目打包成 jar 包需要按照以下步骤操作: 在项目的根目录中,使用命令行进入 Vue.js 项目的根目录,然后运行以下命令: 这个命令将会构建 Vue.js 项目,并在项目的 dist 目录中生成一个编译好的前端静态文件。 在 Spring Boot 项目中,找到 Maven 配置文件

    2024年02月02日
    浏览(15)
  • Maven 生成(打包)带有依赖的可以直接执行的一个 jar 包

    Maven 生成(打包)带有依赖的可以直接执行的一个 jar 包

    在pom中增加如下内容      运行打包命令:mvn clean compile assembly:single

    2024年02月13日
    浏览(8)
  • maven根据操作系统的不同打包时引入不同的依赖(jar)

    在进行java开发时经常遇到一种情况,就是 windows 下和 linux 下需要引入的jar包是不一样的。 比如说我们需要使用java来操作 OpenGL 库,我们就需要通过 maven 引入 JOGL 的依赖, 然而在 window 下和在 linux 下需要引入 JOGL 的依赖是不一样的: 在 window 下,需要引入 JOGL 的 -win 版本的

    2024年02月09日
    浏览(11)
  • 使用maven profile 实现一次打包多版本依赖的fat jar

    使用maven profile 实现一次打包多版本依赖的fat jar

    基于一种特殊情况: 需要开发通用代码,但底层依赖的jar有不同版本,使用一次maven 命令编译来同时生成多个fat jar。 测试代码结构: log4j-v1/log4j-v2 有一个同名类被maintest引用。 maintest pom.xml如下

    2024年02月12日
    浏览(11)
  • springboot项目中引入本地依赖jar包,并打包到lib文件夹中

    springboot项目中引入本地依赖jar包,并打包到lib文件夹中

    描述:下载了第三方相关jar包后,项目中引入本地jar,测试环境正常,打包线上报错提示为找到该jar 原因:应该在/WEB-INF/lib/xxx.jar,被打包到此目录:/WEB-INF/classes/lib/xxx.jar 引入jar包后,在此pom.xml文件中里面添加依赖坐标,即添加中内容 在pom的 build/ build标签中还需进行如下修

    2024年02月07日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包