• Gradle4.4记录笔记


    Gradle相关目录

    ├─gradle
    │ ├── build.gradle
    │ └── src
    ├── gradle
    │ └── wrapper
    │ ├── gradle-wrapper.jar
    │ └── gradle-wrapper.properties
    ├── gradlew
    ├── gradlew.bat
    └── settings.gradle

    gradle-wrapper.properties

    这是首先考虑的 本项目使用什么版本gradle的控制文件

    distributionBase=GRADLE_USER_HOME//这个Base地址和下面的Path拼接起来就是下载的zip文件解压地址
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME//这个Base地址和下面的Path拼接起来就是下载后的gradle文件的存放地址
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip//本项目需要的gradle文件,显示了版本
    

    gradle-wrapper.jar

    这个就是用于下载指定版本gradle的jar,它会去gradle-wrapper.properties查询变量然后带入执行

    build.gradle

    作用类似pom文件

    buildscript {
    //声明是gradle脚本自身需要使用的资源
        repositories {
        //代表使用哪个依赖仓库
            maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
            jcenter()
        }
        dependencies {
        //这是一个插件用于打包程序
            classpath "com.github.jengelman.gradle.plugins:shadow:2.0.2"
        }
    }
    //shadow插件引用
    apply plugin: "com.github.johnrengelman.shadow"
    apply plugin: 'java'
    //跟编译环境有关 Java1.8
    sourceCompatibility = '1.8'
    
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        jcenter()
    }
     //代表使用哪个依赖仓库
    dependencies {
    //老版本使用compile  ,新版本使用implementation和api
    //是取代之前的compile的,其中api和compile是一样的效果,implementation有所不同,通过implementation依赖的库只能自己库本身访问,
        compile "io.vertx:vertx-core:$VERTX_VER"
        compile "io.vertx:vertx-web:$VERTX_VER"
        compile "ch.qos.logback:logback-classic:${LOGBACK_VER}"
    }
    
    //正常情况下,gradle构建的jar包是不包含依赖的,只包含项目源码
    //可是有些情况下我们希望JAR包中也包含相关依赖,就要使用这个
    shadowJar {
        baseName = 'mes-im'
        classifier = null
        version = null
        manifest {
        //设置jar的manifest 文件
        // 'Main-Class' 指定入口函数
            attributes 'Main-Class': 'io.vertx.core.Launcher'
            //我使用vertx框架,需要指定Main-Verticle为主vert
            attributes 'Main-Verticle': 'MainVerticle'
        }
        mergeServiceFiles {
            include 'META-INF/services/io.vertx.core.spi.VerticleFactory'
        }
    }
    
    

    三级目录

  • 相关阅读:
    90后小伙以这196道MySQL面试题,实力吊打面试官,生生挤进大厂
    禁止瘟疫清零计划 Project Zero与VR一起启动
    【LeetCode刷题(数据结构与算法)】:二叉树的中序遍历
    baby_web (攻防世界)
    wifi的 2.4G 和5G
    OpenShift 4 - 在 Jenkins 的 CI/CD 中用 RHACS 对镜像进行安全扫描
    qml使用c++自定义listmodel数据
    redisson中的分布式锁
    MD5 简介 以及 C# 和 js 实现【加密知多少系列】
    EMNLP-21-Exploring Task Difficulty for Few-Shot Relation Extraction
  • 原文地址:https://blog.csdn.net/qq_36934489/article/details/127068456