(007)Gradle 打包时拷贝依赖包到 lib

文章目录

  • 引资
  • 附录

引资

1.示例代码:

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This project uses @Incubating APIs which are subject to change.
 */

plugins {
    id 'java'
    id 'maven-publish'
//    id "io.freefair.lombok" version "8.4"
}

repositories {
    mavenLocal()
    maven {
        url = uri('https://repo.maven.apache.org/maven2/')
    }
}

dependencies {
    implementation 'org.projectlombok:lombok:1.18.10'
    annotationProcessor 'org.projectlombok:lombok:1.18.10'

//    compileOnly 'org.projectlombok:lombok:1.18.30'
//    annotationProcessor 'org.projectlombok:lombok:1.18.30'
//    testCompileOnly 'org.projectlombok:lombok:1.18.30'
//    testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'

    implementation 'org.xbo.hotfix:hotfix-patch:0.3-SNAPSHOT'
    implementation 'com.beust:jcommander:1.78'
    implementation 'org.apache.maven.plugins:maven-compiler-plugin:3.11.0'
    implementation 'org.apache.maven.plugins:maven-assembly-plugin:3.6.0'
    testImplementation 'junit:junit:4.12'
}

group = 'org.xbo.hotfix'
version = '0.3-SNAPSHOT'
description = 'hotfix-agent'
java.sourceCompatibility = JavaVersion.VERSION_1_8

tasks.register('copyJars', Copy) {
    from configurations.runtimeClasspath
    into "$buildDir/libs/"
}

// gradle >= 5
jar {
    manifest {
        attributes 'Manifest-Version' : '1.0'
        attributes 'Implementation-Title': 'agent'
        attributes 'Implementation-Version': "0.3-SNAPSHOT"
        attributes 'Main-Class': 'org.xbo.hotfix.agent.Installer'
        attributes 'Premain-Class': 'org.xbo.hotfix.agent.Installer'
        attributes 'Agent-Class': 'org.xbo.hotfix.agent.Installer'
        attributes 'Can-Redefine-Classes': true
        attributes 'Can-Retransform-Classes': true
        attributes 'Can-Set-Native-Method-Prefix': true
        attributes "Class-Path": configurations.runtimeClasspath.collect { it.getName() }.join(' ')+ " ../config"
    }
}

jar.dependsOn += copyJars

/* gradle <= 4
jar {
    manifest {
        attributes 'Manifest-Version' : '1.0'
        attributes 'Implementation-Title': 'litchi web server'
        attributes 'Implementation-Version': 1.0
        attributes 'Main-Class': 'com.kd.webserver.WebLauncher'
        attributes "Class-Path": configurations.compile.collect { it.getName() }.join(' ')+ " ../config"
    }
}
*/

publishing {
    publications {
        maven(MavenPublication) {
            from(components.java)
        }
    }
}

tasks.withType(JavaCompile).configureEach {
    options.encoding = 'UTF-8'
}

2.其他jar打包:

// with >= gradle v6
tasks.register('copyJars', Copy) {
    from configurations.runtimeClasspath
    into "$buildDir/libs/"
}

// with <= gradle v4
tasks.register('copyDownloadableDepsToLibs', Copy) {
    from configurations.compile
    into 'build/libs'
}

附录

[1] Yumenokanata/build.gradle
[2] javaagent使用指南

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读2---多线激光lidar内参标定原理

前言&#xff1a;该论文介绍多线激光lidar的标定内参的原理&#xff0c;有兴趣的&#xff0c;可研读原论文。 1、标定参数 rotCorrection&#xff1a;旋转修正角&#xff0c;每束激光的方位角偏移&#xff08;与当前旋转角度的偏移&#xff0c;正值表示激光束逆时针旋转&…

微信小程序(十)表单组件(入门)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.type 属性指定表单类型 2.placeholder 属性指定输入框为空时的占位文字 源码&#xff1a; form.wxml <!-- 提前准备好的布局结构代码 --> <view class"register"><view class"…

扩散模型公式推导

这篇文章将尝试推导扩散模型 DDPM 中涉及公式&#xff0c;主要参考两个 B 站视频&#xff1a; 大白话AI狗中赤兔 本文所用 PPT 元素均来自 UP 主&#xff0c;狗中赤兔和大白兔AI&#xff0c;特此感谢。 在证明开始&#xff0c;我们需要先对扩散模型有一个整体的认知。扩散模型…

计算机网络实验一:网线制作

目录 实验一&#xff1a;网线制作 1.1 实验目的 1.2 实验步骤 1.3 实验总结 实验一&#xff1a;网线制作 1.1 实验目的 &#xff08;1&#xff09;熟悉5类双绞线的标准&#xff1b; &#xff08;2&#xff09;练习压线钳、测线仪等工具的使用&#xff1b; &#xff08;3…

让计算机能够认识 函数 的数学表达式

【mathematical-expression】让计算机认识 数学函数 在计算机中&#xff0c;我们如果想要让数学中的函数&#xff0c;能够像编程中的函数一样发挥作用&#xff0c;这是比较麻烦的一种操作&#xff0c;例如 1 f(20) 3 这个数学表达式中&#xff0c;针对函数的提取与解析等需求…

html火焰文字特效

下面是代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5火焰文字特效DEMO演示</title><link rel"stylesheet" href"css/style.css" media"screen" type&quo…

有效的括号[简单]

>优质博文&#xff1a;IT-BLOG-CN 一、题目 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串s&#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 【1】左括号必须用相同类型的右括号…

Deployment介绍

1、Deployment介绍 Deployment一般用于部署公司的无状态服务。 格式&#xff1a; apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metada…

【Redis】网络模型

前言 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对存储系统&#xff0c;广泛用于各种网络应用中作为数据库、缓存和消息代理。Redis的网络模型是其高性能的关键因素之一&#xff0c;它涉及到多个方面&#xff0c;包括内存管理、事件处理、…

开始学习Vue2(脚手架,组件化开发)

一、单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a;Single Page Application&#xff09;简 称 SPA&#xff0c;顾名思义&#xff0c;指的是一个 Web 网站中只有唯一的 一个 HTML 页面&#xff0c;所有的功能与交互都在这唯一的一个页面内完成。 二、vue-cli …

omron adept控制器维修SmartController EX

欧姆龙机器人adept运动控制器维修SmartController EX 19300-000 维修范围&#xff1a;姆龙机器人&#xff1b;码垛机器人&#xff1b;搬运机器人&#xff1b;焊机机器人&#xff1b;变位机等。 Adept Viper s650/s850用于装配、物料搬运、包装和机械装卸&#xff0c;循环周期短…

大模型+自动驾驶

论文&#xff1a;https://arxiv.org/pdf/2401.08045.pdf 大型基础模型的兴起&#xff0c;它们基于广泛的数据集进行训练&#xff0c;正在彻底改变人工智能领域的面貌。例如SAM、DALL-E2和GPT-4这样的模型通过提取复杂的模式&#xff0c;并在不同任务中有效地执行&#xff0c;从…

《汇编语言》- 读书笔记 - 第8章 - 数据处理的两个基本问题(阶段总结)

《汇编语言》- 读书笔记 - 第8章 - 数据处理的两个基本问题&#xff08;阶段总结&#xff09; 8.1 bx、si、di 和 bp (可用于内存寻址)8.2 机器指令处理的数据在什么地方8.3 汇编语言中数据位置的表达1. 立即数(idata)2. 寄存器3. 段地址(SA)和偏移地址(EA) 8.4 寻址方式8.5 指…

HPA自动扩缩容

HPA是什么&#xff1f;&#xff1f;&#xff1f; Horizontal Pod Autoscaling: k8s自带的模块&#xff0c;pod的水平自动伸缩&#xff0c;对象是pod。 pod占用cpu比率达到一定的阈值&#xff0c;将会触发伸缩机制。 replication controller 副本控制器 deployment controll…

【ZYNQ入门】第九篇、双帧缓存的原理

目录 第一部分、基础知识 1、HDMI视频撕裂的原理 2、双帧缓存的原理 第二部分、代码设计原理 1、AXI_HP_WR模块 2、AXI_HP_RD模块 3、Block design设计 第三部分、总结 1、写在最后 2、更多文章 第一部分、基础知识 1、HDMI视频撕裂的原理 在调试摄像头的时候&#xf…

CMS如何调优

业务JVM频繁Full GC如何排查 原则是先止损&#xff0c;再排查。 FGC的原因是对象晋升失败或者并发模式失败&#xff0c;原因都是老年代放不下晋升的对象了。 1.可能是大对象导致的内存泄漏。快速排查方法&#xff1a;观察数据库网络IO是否和FGC时间点吻合&#xff0c;找到对应…

Servlet生命周期

第一阶段&#xff1a; init&#xff08;&#xff09;初始化阶段 当客户端想Servlet容器&#xff08;例如Tomcat&#xff09;发出HTTP请求要求访问Servlet时&#xff0c;Servlet容器首先会解析请求&#xff0c;检查内存中是否已经有了该Servlet对象&#xff0c;如果有&#xff…

机器人制作开源方案 | 全自动导航分拣机器人

作者&#xff1a;孙国峰 董阳 张鑫源 单位&#xff1a;山东科技大学 机械电子工程学院 指导老师&#xff1a;张永超 贝广霞 1. 研究意义 1.1 研究背景 在工业生产中&#xff0c;机器人在解决企业的劳动力不足&#xff0c;提高企业劳动生产率&#xff0c;提高产品质量和降低…

【c++学习】数据结构中的链表

c链表 数据结构中的链表代码 数据结构中的链表 链表与线性表相对&#xff0c;链表数据在内存中的存储空间是不连续的&#xff0c;链表每个节点包含数据域和指针域。 代码 下述代码实现了链表及其接口 包括增、删、查、改以及其他一些简单的功能 #include <iostream>u…

FRRouting学习(一) 配置日志文件

以配置isis event事件日志为例 1、在配置之前&#xff0c;/var/log/frr路径下是没有文件的&#xff1a; 2、在vtysh config之下输入&#xff1a;log file /var/log/frr/isisd.log debugging 后面的debugging表示日志级别&#xff0c;可以根据自己修改 3、配置好了之后&#xf…