java gradle插件的使用(六)

版权声明:转载请申明出处,谢谢 https://blog.csdn.net/qq_35495763/article/details/86259530

update:2019-1-11 Author:要你命三千又三千 type:学习笔记(重点)

问题一:为什么要使用java中使用gradle

gradle是一个灵活的构建框架。而开发java的流程大多是(依赖第三库,编译源代码,进行单元测试,打包发布)由于,每一个工程的创建都差不多,gradle 可以避免每个java工程里做重复的工作,为我们设计 了通用的java项目流程,方便构建,第三方库的自动添加(简单配置等)。

应用java插件(gardle的内部插件的应用方式)

apply plugin:‘java’

作用:java插件就为工程添加了很多默认的设置与约定。

java插件约定的项目结构

在这里插入图片描述
如果使用gradle 来构建项目必须遵循约定。
为什么:java插件进行构架时,至于约定的目录才可以找到我的 javal类的位置,资源的位置,然后才能进行编译
默认目录:

  1. src/main/java 项目源码的存放目录
  2. src/main/resources打包的资源文件存放目录。(配置文件,图片等)
  3. src/test/java 单元测试用例存放目录
  4. src/test/resource 测试用到的文件目录

配置第三方依赖

1.配置仓库
在这里插入图片描述
这里的作用是:告诉gradle在Maven 中心库中寻找我们依赖的Jar包
在这里插入图片描述
这里需要说明是:以上论述了所有6获取库的方式。
举例:
如何在自己公司的私有Jar,在自己搭建的Maven私服上下载(无密码下载方式)
在这里插入图片描述
2.指定依赖包

在这里插入图片描述
这里的GAV(简称)标识了唯一的包
简写方式:

dependcies{
compile ‘com.squareup.okhttp3:okhttp:3.0.1’ // 去掉名称用“:”隔开
}

gradle 提供的依赖配置
在这里插入图片描述
java 插件可以为不同的SourceSet在运行与编译是指定不同的依赖
格式:
在这里插入图片描述
格式的使用方式举例:

扫描二维码关注公众号,回复: 4875501 查看本文章

dependencies{
//不同的Sourceset指定不同的依赖
mainCompille ‘com.squareup.okhttp3:okhttp:3.0.1’//为main指定编译依赖
vipCompile ‘com.squareup.okhttp:okhttp:2.5.0’ //为vip指定编译依赖
}

添加本地项目依赖

说明:项目依赖是一个Gradle项目(现在 setting文件中配置过)

dependencies{
compile project(’:example63’)
}
效果是:依赖后项目中的java类可以为你所用,就像自己项目中的类一样

文件依赖(依赖一个Jar包文件)

举例

depnedencies{
compile files(‘libs/ex63_.jar’,‘lib/ex63_2.jar’) //使用file的形式来添加文件依赖
}//作用:j将libs文件下的文件添加掉依赖
或者:使用统配符添加所有依赖
dependencies{
compile fileTree(dir:‘libs’,include:’*.jar’) //使用fileTree的形式来添加文件
}//作用:将libs下的所有jar都会被依赖

构建一个java项目

//执行命令行,来构建一个 任务
gradle build
//结果:在build/libs生成jar包(这是java的生成目录)
//生成了:命令构建l了这个项目,生成了 build 文件夹,其中不但含有 jar 包,
//还有 tar\zip.bat等,也有 .class 文件

补充:

常见任务

clean 任务

作用:删除build目录以及其他构建的生成的文件(就是删除了gradle build的结果)

assemble 任务

作用:编译和打包(不执行单元测试),根据不同的项目类型打包生成不同的文件(Android 打包生成apk文件)

check 任务(顾名思义执行单元测试)

作用:针对不同的项目有不同的单元的测试方法,进行测试。

javadoc 任务

作用:生成 java格式的 doc api 文档(一个java格式的 api 文档)

sourceSet源集概念(重点与难点)

问题一:什么是sourceSet(–源代码集合–源集)

即:一个java源代码文件与资源文件的集合
作用:

  1. 从源集内部的角度:可以通过设置源集的属性,更改源集的java目录和资源目录
  2. 从源集本身的角度:可以针对不同的业务和应用对源代码进行分组
    内置的两个标准源集

main (主业务产品)
test (主要用于单元测试业务)

问题二:如何配置和访问源集

1.通过sourceSets{}闭包来访问和配置源集
2.通过Project下的sourceSets属性

apply plugin:'java'
sourceSets{  //sourceSet本质是一个容器SourceSetContianer
 mian{  //main 源集的闭包配置
     //配置Main SourceSet配置
    } 
 }

补充

常见的源集属性
在这里插入图片描述
实践修改
java代码目录和资源目录(根据以上属性)
在这里插入图片描述
在这里插入图片描述

参考:java插件提供的java构建任务

在这里插入图片描述

补充

使用gradle实现java项目的多项目构建

步骤一:识别项目结构(这里的根项目也带有build.gradle 文件)
在这里插入图片描述
步骤二:配置多项目构建的配置
在这里插入图片描述
步骤三:在app项目中的build.gradle 中添加项目依赖
在这里插入图片描述
步骤四:使用base项目中的类
添加导入即可
在这里插入图片描述

小的知识点:

在为所有子项目统一配置属性(在根build.gradle 进行统一指定)

subprojects{
   apply plugin: 'java'
   repositories{
   mavenCentral()
   }
   dependencies{
           compile ''
           }
 }

问题:如何发布构件

问题解析:就是如何发布一个库工程(一个jar 给其他工程使用,称之为构件)

  1. 发布方式:有本地目录,Maven库,Ivy库
  2. 构架可以是:jar,zip包,WAR等

这里省略关于项目构件发布的配置gradle 文件编写。

问题:通过gradle来生成IDE的配置文件

应用内置插件
apply plugin:‘idea’
apply plugin:‘eclipse’
执行task :gradle idea 即可生成配置文件

参考:ecllipse自带的导入导出工程配置文件

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/86259530