Gradle 简单入门

Gradle简单介绍:

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven,Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。

此外,Gradle支持局部构建。

官网:Gradle Build Tool

为什么选择Gradle : 格拉德尔 |Gradle 与 Maven 比较

兼容性:兼容性矩阵 (gradle.org)

 Gradle安装:格拉德尔 |安装 (gradle.org)

版本选择:Gradle | Releases

下载后解压zip文件 ,添加到系统环境变量   测试 cmd :  gradle

构建项目时 用自己下载的Gradle:

Gradle的灵魂project和task

Gradle 本身的领域对象主要有Project 和 Task

Project 为Task 提供了执行的容器 和上下文

Task 添加自定义任务 在 build.gradle.kts 添加代码

task("sayHello") {
    println("hello Gradle")
}

编译器执行任务:

PS E:\kotlinTest\GradleTest> gradle sayHello

> Configure project :
hello Gradle

BUILD SUCCESSFUL in 1s
 

Gradle 添加依赖示例:

 从网络加载图片保存到本地

build.gradle.kts 文件:

    // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
    implementation("com.squareup.okhttp3:okhttp:4.10.0")
//去哪里下载
repositories {
    mavenCentral()
}

dependencies {
    testImplementation(platform("org.junit:junit-bom:5.9.1"))
    testImplementation("org.junit.jupiter:junit-jupiter")

    // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
    implementation("com.squareup.okhttp3:okhttp:4.10.0")

    implementation(kotlin("stdlib-jdk8"))

}

代码:

package org.example

import okhttp3.*
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.io.InputStream


fun main(args: Array<String>) {
    // 创建一个 OkHttpClient 实例
    val okHttpClient = OkHttpClient()
 
    // 使用 okHttpClient 发送请求...
    val request = Request.Builder()
        .url("https://pic.616pic.com/photoone/00/04/07/618ce5e7968227656.jpg")
        .build()

    okHttpClient.newCall(request).enqueue(object : Callback {
        override fun onFailure(call: Call, e: IOException) {
            // 请求失败处理...
        }

        override fun onResponse(call: Call, response: Response) {
            // 请求成功处理响应...

            val inputStream = response.body?.byteStream()
            if (inputStream != null) {
                // 创建输出文件
                // 调用函数将字节流转换为图片文件并保存到本地
                convertByteStreamToImageAndSave(inputStream, "demo.jpg")

                println("Image downloaded and saved to ")
            } else {
                println("Failed to get input stream")
            }


        }
    })
}


fun convertByteStreamToImageAndSave(byteStream: InputStream, outputPath: String) {
    // 创建输出文件
    val outputFile = File(outputPath)

    // 创建输出流
    val outputStream = FileOutputStream(outputFile)

    // 将字节流写入输出流
    byteStream.use { inputStream ->
        inputStream.copyTo(outputStream)
    }

    // 关闭输出流
    outputStream.close()

    println("Image saved to $outputPath")
}

简单测试案例:

Gradle依赖冲突的解决 排除依赖

    // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
    implementation("com.squareup.okhttp3:okhttp:4.10.0"){
        exclude("com.squareup.okhttp3","okhttp")
    }

Gradle插件自定义扩展 任务类型 Task types 

参考文档 Task - Gradle DSL Version 8.5      Task types 

 用Kotlin 语法 删除文件   在 build.gradle.kts 添加代码

Delete用法 示例 

//Task 添加自定义任务 删除文件
task("myDeleteFile",Delete::class) {
    setDelete("src/temp")
}

Copy 用法 示例 

//Task  拷贝文件
task("myCopyFile",Copy::class) {
    from("src")
    into("new")
}

Jar 示例 

//Task 添加自定义任务 拷贝文件
task("myJar",Jar::class) {
    from("src")
    into("abd.jar")
}

Gradle的学习方法

GitHub - gradle/kotlin-dsl-samples:使用 Gradle Kotlin DSL 的示例构建

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DcsSchedule是一个基于Quartz的分布式任务调度框架,它提供了方便的任务调度和管理功能。下面是DcsSchedule的简单入门指南: 1. 引入依赖:在项目的pom.xml文件中添加DcsSchedule的依赖。可以在Maven或Gradle中添加以下依赖: ```xml <dependency> <groupId>com.dangdang</groupId> <artifactId>dangdang-schedule</artifactId> <version>1.0.7</version> </dependency> ``` 2. 配置DcsSchedule:在Spring Boot的配置文件中,添加DcsSchedule的相关配置。 ```properties # DcsSchedule注册中心地址 schedule.zkConnectString=127.0.0.1:2181 ``` 这里的`schedule.zkConnectString`是DcsSchedule的注册中心地址,可以根据实际情况进行配置。 3. 定义任务:创建一个继承自`AbstractScheduleTask`的任务类,并实现其中的抽象方法。 ```java import com.dangdang.ddframe.job.api.AbstractScheduleTask; import com.dangdang.ddframe.job.api.JobExecutionMultipleShardingContext; public class MyTask extends AbstractScheduleTask { @Override public void process(JobExecutionMultipleShardingContext jobExecutionMultipleShardingContext) { // 任务执行逻辑 System.out.println("Hello, DcsSchedule!"); } } ``` 在`process`方法中,编写具体的任务逻辑。 4. 注册任务:在Spring Boot的配置类中,使用`@EnableDcsSchedule`注解开启DcsSchedule的自动配置,并注册任务。 ```java import com.dangdang.ddframe.job.lite.spring.annotation.EnableDcsSchedule; import org.springframework.context.annotation.Configuration; @Configuration @EnableDcsSchedule public class ScheduleConfig { @Bean public MyTask myTask() { return new MyTask(); } } ``` 这里通过`@Bean`注解将任务注册为Spring Bean。 5. 运行任务:启动Spring Boot应用程序,DcsSchedule将自动根据配置进行任务调度。 以上是DcsSchedule的简单入门流程。你可以根据实际需求,配置更多的任务和调度策略,以及使用DcsSchedule提供的其他功能,如分片调度、任务监听等。详细的使用方法可以参考DcsSchedule的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javaGHui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值