栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Gradle学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Gradle学习笔记

Gradle
项目构建
  • 每一个gradle项目都会生成一个build.gradle构建文件

  • 一个构建文件代表着一个project (gradle中的一个groovy编写的类)实例

    • 包含一些重要的属性字段

      • group , name , version
    • 包含一些重要的方法

      • apply

        • apply plugin: "java"
          apply plugin: "web"
          
      • dependencies

        • dependencies {
          	api(project(":spring-core"))
          	optional("jakarta.inject:jakarta.inject-api")
          	optional("org.yaml:snakeyaml")
          	optional("org.apache.groovy:groovy-xml")
          	optional("org.jetbrains.kotlin:kotlin-reflect")
          	optional("org.jetbrains.kotlin:kotlin-stdlib")
          	testImplementation(testFixtures(project(":spring-core")))
          	testImplementation(project(":spring-core-test"))
          	testImplementation("jakarta.annotation:jakarta.annotation-api")
          	testFixturesApi("org.junit.jupiter:junit-jupiter-api")
          	testFixturesImplementation("org.assertj:assertj-core")
          }
          
      • repositories

        • repositories {
              mavenCentral()
          }
          
      • task

        • 用于定义任务, 任务有任务链, 可以指定, 这个有点像是maven生命周期
        • 任务也可以做成插件(具体有兴趣可以百度)
      • allprojects

        • 一般出现在根模块的build.gradle
      • subprojects

        • 一般出现在根模块的build.gradle

        • allprojects是对所有project的配置,包括Root Project。而subprojects是对所有Child Project的配置
  • 根模块(父模块)和子模块

    • 和maven的概念相同, 只是配置上的差异

    • 相同项目中不同模块之间的快捷引用

      • dependencies {
        	api(project(":spring-core"))
        	testImplementation(testFixtures(project(":spring-core")))
        	testImplementation(project(":spring-core-test"))
        }
        
  • settings.gradle

    • 指定一些通用配置
    • rootProject.name = ‘XXX’ // 指定根项目名称
    • include “XXX” // 指定包含哪些子模块
  • gradle.properties

    • 指定一些通用配置的一些属性

生命周期

  • compile

    编译范围依赖在所有的 classpath 中可用,同时它们也会被打包

    runtime

    runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要 JDBC API JAR,而只有在运行的时候才需要 JDBC 驱动实现

    testCompile

    测试期编译需要的附加依赖

    testRuntime

    测试运行期需要

    不同的插件提供了不同的标准配置,你甚至也可以定义属于自己的配置项

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1040019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号