美文网首页
Gradle使用及语法简单说明

Gradle使用及语法简单说明

作者: 蓝Renly | 来源:发表于2018-08-14 23:26 被阅读0次

    Day07

    知识点1:插件

    插件:一定任务的集合;
    常用三方插件
    
    plugins{
        java   //支持java运行
        application  //支持java运行  并打包应用程序
        war //把项目打包成war包,多用于JavaEE
        kotlin("jvm") //可以支持开发kotlin(Kotlin比java多了个向计算机添加运行时库)
    }
    //导入kotlin的标准库
    repositories {
        mavenCentral()
    }
    dependencies {
        compile(kotlin("stdlib"))
    }
    

    第一种使用插件市场插件的方式

    plugins{
        id("org.jetbrain.kotlin.jvm") version "1.2.60"
    }
    

    第二种使用插件市场插件的方式

    buildscript{
        repositories{
            maven{
                setUrl("https://plugins.gradle.org/m2/")
            }
        }
        dependencis{
            classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41")
        }
    }
    

    知识点2:依赖的导入

    .Gradle依赖管理:(导包)在什么地方以什么形式引入外部代码.HttpClient
    
    import org.apache.commons.httpclient.HttpClient
    import org.apache.commons.httpclient.HttpStatus
    import org.apache.commons.httpclient.methods.GetMethod
    import java.io.File
    import java.io.FileOutputStream
    var path="http://t1.hxzdhn.com/uploads/tu/201703/54/121.jpg" //HttpClient包的路径
    fun main(args: Array<String>) {
        val client = HttpClient()
        val method = GetMethod(path)
        try {
            val statusCode = client.executeMethod(method)
            if (statusCode == HttpStatus.SC_OK) {
                //返回的结果
                val body = method.responseBody
                val fos = FileOutputStream(File("a.jpg"))
                fos.write(body)
            } else {
                println("下载失败")
            }
        } catch (e: Exception) {
            e.printStackTrace()
            println("下载失败")
        }
    }
    

    知识点3:依赖冲突的2种解决方案

    1.依赖的传递性
    2.同样的jar包,版本不同 
    
    import org.gradle.internal.impldep.org.junit.experimental.categories.Categories.CategoryFilter.exclude
    plugins {
        kotlin("jvm")
    }
    //代码仓库
    repositories {
        mavenCentral()
    }
    //导入的时候 就能发现有没有版本冲突  需要关闭gradle默认处理方案
    //添加这个脚本之后 如果有冲突  gradle也不会自动解决   会抛出这个错误
    configurations.all {
        resolutionStrategy {
            failOnVersionConflict()
            //强制指定版本号
            force("commons-logging:commons-logging:1.2")
        }
    }
    //依赖
    //maven
    //gradle
    dependencies {
        compile(kotlin("stdlib"))
        // https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient
        //logging  1.0.4
        compile("commons-httpclient", "commons-httpclient", "3.1")
    //    {
    //        //把logging这个依赖排除掉
    //        exclude("commons-httpclient:commons-httpclient")
    //    }
        //spring
        // https://mvnrepository.com/artifact/org.springframework/spring-core
        //logging 1.1.1
        compile("org.springframework", "spring-core", "2.5.6")
    }
    

    知识点4:多模块构建

    module1:
    buildscript {
        repositories {
            maven {
                setUrl("https://plugins.gradle.org/m2/")
            }
        }
        dependencies {
            classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.60")
        }
    }
    allprojects {
        apply{
            plugin( "org.jetbrains.kotlin.jvm")
        }
    }
    module2:
    repositories {
        mavenCentral()
    }
    dependencies {
        compile(kotlin("stdlib"))
    }
    

    相关文章

      网友评论

          本文标题:Gradle使用及语法简单说明

          本文链接:https://www.haomeiwen.com/subject/menbbftx.html