编译工具-Gradle

news2024/11/23 21:48:04

文章目录

  • Idea中配置
  • Gradle项目
    • project目录
      • settings.gradle
      • build.gradle
      • gradlew
      • gradlew.bat
  • Gradle Build生命周期
  • 编写Settings.gradle
  • 编写Build.gradle
    • Tasks
    • Plugins

Idea中配置

在这里插入图片描述

配置项:gradle位置仓库位置

Gradle项目

Task,settings.gradle,build.gradle,wrapper 核心概念

project目录

settings.gradle

如配置root project 及 sub project

rootProject.name = 'poi'

include 'poi', 'poi-ooxml-full', 'poi-ooxml-lite-agent', 'poi-scratchpad',
        'poi-ooxml', 'poi-excelant', 'poi-examples', 'poi-integration' , 'poi-ooxml-lite'

build.gradle

配置依赖,插件,镜像源的地方

plugins {
    id 'java'
}

group = 'org.example'
version = '1.0-SNAPSHOT'

repositories {
    maven { url 'https://maven.tuna.tsinghua.edu.cn/nexus/content/groups/public' }
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.jуйyiyun.com/repository/central' }
    // 其他国内镜像源

}

dependencies {
    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

test {
    useJUnitPlatform()
}

gradlew

Linux或者Mac系统下Wrapper执行脚本

gradlew.bat

Windows系统下Wrapper执行脚本

Gradle Build生命周期

build lifecycle example

编写Settings.gradle

等价于Settings()对象,settings.gradle可以调用本身的属性和方法进行配置

具体Property和Method查官网API

rootProject.name = 'poi'

include 'poi', 'poi-ooxml-full', 'poi-ooxml-lite-agent', 'poi-scratchpad',
        'poi-ooxml', 'poi-excelant', 'poi-examples', 'poi-integration' , 'poi-ooxml-lite'

编写Build.gradle

等价于Project()对象,可以调用属性和方法进行配置、

依赖引入直接去Maven仓库里找对应包cv即可

/*插件*/
plugins {
    id 'java'
}
/*远程仓库地址*/
repositories {
    maven { url 'https://maven.tuna.tsinghua.edu.cn/nexus/content/groups/public' }
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.jуйyiyun.com/repository/central' }
    // 其他国内镜像源

}

/*依赖*/
dependencies {
     implementation("com.google.guava:guava:32.1.1-jre")
    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
       // https://mvnrepository.com/artifact/org.apache.poi/poi
    implementation group: 'org.apache.poi', name: 'poi', version: '5.2.3'
// https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox
    implementation group: 'org.apache.pdfbox', name: 'pdfbox', version: '3.0.1'
}

Tasks

  1. Lifecycle tasks

    生命周期内的task

  2. Actionable tasks

    单独一个任务

/*有依赖的task*/
tasks.register('hello') {
    doLast {
        println 'Hello world!'
    }
}
tasks.register('intro') {
    dependsOn tasks.hello
    doLast {
        println "I'm Gradle"
    }
}

/*指定group*/
tasks.register("hello") {
    group = "Custom"
    description = "A lovely greeting task."
    doLast {
        println("Hello world!")
    }
}

Plugins

分为Core plugins ,Community plugins ,和local plugins

/*core plugin  id一个参数即可*/
plugins {
    id("java")
}
/*community plugin  一般id和version两个参数*/
plugins {
    id «plugin id» version «plugin version»
}

插件必须在settings.gradle指定,且在最前行

pluginManagement {
    plugins {
    }
    resolutionStrategy {
    }
    repositories {
    }
}
rootProject.name = 'plugin-management'

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Arduino】实验使用ESP32控制可编程继电器制作跑马灯(图文)

今天小飞鱼实验使用ESP控制继电器,为了更好的掌握继电器的使用方法这里实验做了一个跑马灯的效果。 这里用到的可编程继电器,起始原理并不复杂,同样需要ESP32控制针脚输出高电平或低电平给到继电器,继电器使用这个信号控制一个电…

【SpringBoot】SpringBoot核心启动流程源码解析

SpringBoot总体流程 当我们启动一个SpringBoot程序的时候,只需要一个main方法就可以启动,但是对于其中流程时如何执行的,以及如何调用spring的IOC和AOP机制,本篇带着这个问题来整体体系化的梳理下流程。 SpringBootApplication …

哥斯拉短视频:成都柏煜文化传媒有限公司

哥斯拉短视频:巨兽传奇的视听盛宴 在短视频的海洋中,成都柏煜文化传媒有限公司 有一种特殊的存在总能吸引人们的目光,那就是以哥斯拉为主题的短视频。这些视频以震撼的视觉效果、扣人 ​心弦的剧情和独特的怪兽文化,为我们呈现了…

mysql5.7安装使用

mysql5.7安装包:百度网盘 提取码: 0000 一、 安装步骤 双击安装文件 选择我接受许可条款–Next 选择自定义安装,下一步 选择电脑对应的系统版本后(我的系统是64位),点击中间的右箭头,选择Next 选择安装路径–Next 执行…

Android隐藏状态栏和修改状态栏颜色_亲测有效

本文记录了隐藏状态栏和修改状态栏颜色以及电量、WiFi标志等内容的模式显示,亲测有效。 1、隐藏屏幕状态栏 public void hideStatusBar(BaseActivity activity) {Window window activity.getWindow();//没有这一行无效window.addFlags(WindowManager.LayoutParam…

瑞数(rs6)接口以及源码

测试代码截图如下:调用接口即可直接用 需要dd 有想要学习教程的也能够找我。 如有需求,欢迎+我绿泡泡。 期待你的加入!

Java | Leetcode Java题解之第189题轮转数组

题目: 题解: class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}public void reverse(int[] nums, int start, int end) {whil…

ZYNQ MPSOC烧写问题记录

1、如果带有ARM代码,则ZYNQ MPSOC烧写的烧写是通过ViTIS进行的,通过JTAG模式进行烧写,如下图的PS_MODEx配置成0000,这个只与硬件相关,硬件拉高拉低。 2、如果不带ARM代码,则烧写过程与前版本一致。

PaddleOCR的快速使用

一、简介 PaddleOCR 旨在打造一套丰富、领先、且实用的 OCR 工具库,助力开发者训练出更好的模型,并应用落地。 支持多种 OCR 相关前沿算法,在此基础上打造产业级特色模型PP-OCR、PP-Structure和PP-ChatOCRv2,并打通数据生产、模型…

vue-cli 搭建项目

创建 router 目录 在一个.js文件中添加 打开外部命令 打开外部命令后,在指令栏输入npm i vue-router3.5.3 ,等待下载 下载完成后 在 main.js 中配置路由 输入这些后,基本的配置就实现了 最后进行测试,验证是否配置 或者打开外部命…

解决指南:如何应对错误代码 0x80070643

在使用Windows操作系统过程中,用户可能会遭遇各种错误代码,其中错误 0x80070643是比较常见的一种。这个错误通常在安装更新或某些软件时发生,尤其是在微软的Windows Defender或其他Microsoft安全产品以及.NET Framework更新过程中更为常见。本…

Linux的fwrite函数

函数原型: 向文件fp中写入writeBuff里面的内容 int fwrite(void*buffer,intsize,intcount,FILE*fp) /* * description : 对已打开的流进行写入数据块 * param ‐ ptr :指向 数据块的指针 * param ‐ size :指定…

19.《C语言》——【如何理解static和extern?】

🎇开场语 亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能&a…

操作系统速成笔记五

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、前言🚀🚀🚀二、正文☀️☀️☀️1.内存映射文件(1)方便程序员访问文件数据(2&#xff09…

小红书多账号管理平台哪个好用?可以快速监测多个小红书账号的数据吗?

随着品牌营销战线的不断扩展,小红书已经成为企业和个人品牌竞相展示的舞台。但是,随之而来的多账号管理问题也让众多运营者头疼不已。一个优秀的多账号管理平台,能让你事半功倍,轻松监控和分析账号数据。 如今,市面上出…

【proteus 51单片机入门】8*8led点阵

文章目录 前言如何点亮led点阵仿真图代码点亮led核心代码解析 爱心代码 滚动总结 前言 在嵌入式系统的开发中,LED点阵显示器是一种常见的显示设备,它可以用来显示各种图形和文字,为用户提供直观的信息反馈。本文将介绍如何使用Proteus软件和…

亿发微商城:从社交流量到生意增量,拓客+变现双收益

亿发微商城提供私域经营必备的系统 、服务和技术支持等全套解决方案。省去开发成本,还原品牌调性,打通社交渠道,经营私域会员,带来传统电商和线下门店之外的生意增量。

【linux/shell案例实战】解决Linux和Windows的换行符CRLF和LF问题

目录 一.什么是Linux 和 Windows 的换行符 CRLF 和 LF 二.使用Linux 中命令 dos2unix 和 unix2dos 实现CRLF 和LF的转换 三.使用 windows 中的代码编辑器实现 CRLF 和 LF 的转换(Notepad) 一.什么是Linux 和 Windows 的换行符 CRLF 和 LF CR是Carria…

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解

<sa8650>QCX ID16_UsecaseRawLiteAuto 使用详解 一、前言二、ID16_UsecaseRawLiteAuto拓扑图三、UsecaseRawLiteAuto拓扑图 解析3.1 camxUsecaseRawLiteAuto.xml3.2 camxRawLiteAuto.xml四、测试一、前言 我们在使用QCX时,如果由于使用的摄像头自带了ISP,那么可能不需要使…

iOS开发中用到的自定义UI库

文章目录 前言cell 左右滑动菜单日历组件仿QQ 侧滑抽屉仿探探、陌陌的卡牌滑动库头部缩放视图自定义UITabbar刮刮乐广告横幅 前言 本文中的UI组件,是作者在移动应用开发中都用到过的。 确实,找到对的三方库可以快速帮助我们构建App, 极大程度上提高了生…