Gradle home指定了gradle文件目录
Service directory path指定了gradle工作主目录

gradle仓库设置
建议如下设置

repositories {
    mavenLocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
    mavenCentral()
    jcenter()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
    maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }  //转换pdf使用
}

存储库只是文件的集合,按分组,名称和版本来组织构造。 默认情况下,Gradle不定义任何存储库。 这里使用repositories 指定存储库。
mavenLocal():指定使用maven本地仓库,而本地仓库在配置maven时setting文件指定的仓库位置。如<localRepository>D:/repository</localRepository>,同时将setting文件拷贝到C:\Users\Administrator\.m2目录下,一般该目录下是没有setting文件的,gradle查找jar包顺序如下:gradle默认会按以下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}:指定阿里云镜像加速地址
mavenCentral():这是Maven的中央仓库,无需配置,直接声明就可以使用
jcenter():JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。
后面的maven { url 地址},指定maven仓库,一般用私有仓库地址或其它的第三方库
gradle按配置顺序寻找jar文件。如果本地存在就不会再去下载。不存在的再去maven仓库下载,这里注意下载下来的jar文件不在maven仓库里,而是在gradle的主工作目录下,如上面的D:\.gradle目录

gradle.build构建脚本
build.gradle是Gradle默认的构建脚本文件,执行Gradle命令的时候,会默认加载当前目录下的build.gradle脚本文件。
gradle.build脚本如下:

buildScript {
    repositories {
         mavenCentral()
    }
}

repositories {
     mavenCentral()
}

buildScript里的repositories是这个脚本需要的依赖库,与项目无关,在执行脚本时,会从这个库里download对应的jar和插件。第二个repositories是项目里需要依赖的jar的库。

settings.gradle配置
是模块Module配置文件,大多数setting.gradle的作用是为了配置子工程,根目录下的settings.gradle脚本文件是针对module的全局配置,它的作用域所包含的所有module是通过settings.gradle来配置。
settings.gradle用于创建多Project的Gradle项目。Project在IDEA里对应Module模块。
例如配置module名rootProject.name = 'DyoonPLM'

一,何为build工具
我们写一个java web程序大致需要以下步骤呢:

从版本控制系统下载基础源码
编写程序,并在这过程中复制相应的依赖包到classpath目录下
编译java 文件,形成jar包
运行单元测试
生成代码覆盖度报告和测试报告
打包形成war文件
上传到测试服务器上,进行部署
在以前,这些操作都是需要我们手动去完成的。比如当引入一个外部依赖时,我们要专门去相应的地方拷贝得到jar包,或者得到源码编译出jar包,然后复制到classpath目录下。写完代码后,我们需要手动使用编译工具编译,然后手动去运行测试工具进行单元测试,如果没问题的话,再手动打包成war包,然后手动上传到服务器指定目录部署。

一个项目下来我们将会在这些与写代码无关的事情上浪费大量时间,而这些行为很明显是重复的,完全可以编写出相应的程序来帮助我们自动的完成这一系列的操作。而且多人合作时,每个人使用的外部依赖库的版本可能不一样,当合并项目后有可能会因为版本的不同带来BUG,而且这些BUG非常不容易让人发现,人们急需一个统一管理第三方依赖的工具。于是build工具出现了。

gradle是一个工具,通过执行build.gradle来实现build的功能,build.gradle这个build脚本是需要程序员自己来编写的,可以使用groovy语言来编写,功能强大而且直观。也可以直接引入其他人已经编写好的脚本或工具来实现build,引入方法为通过apply plugin: 'plugin名'语句实现,plugin可以是build脚本也可以是java程序。

gradle官方提供了很多常用的build plugin,比如我们这次创建项目引入的‘war’plugin,他是继承自‘java’这个plugin,在实现‘java’plugin中关于build java程序的基础上,额外定义了java web项目目录、打包war包等功能,剔除了打包jar包的功能,具体详情可以在gradle官方文档中查看到。

build操作通过引入相应的plugin基本就可以实现了,在平时的使用过程中,我们主要对gradle的操作是添加第三方依赖,让gradle帮我们管理这些第三方依赖。

idea 中 gradle 使用相关推荐

  1. android studio 中 gradle 配置与说明

    首先在android studio中,gradle工具版本和gradle版本(或者插件版本).gradle工具版本就是我们安装android studio的时候,同时也会安装gradle工具版本,因为 ...

  2. android中gradle的作用,Gradle 之 Android 中的应用

    在上一篇文章中 Gradle 之语言基础 Groovy 主要介绍了 Groovy 的基础语法(如果没有 Groovy 的基础,建议先看看上篇文章,如果可以动手敲一下里面的示例代码就更好不过了),也是为 ...

  3. 关于AndroidStudio中Gradle文件引发的问题导致HelloWorld无法运行的解决方法

    关于AndroidStudio中Gradle文件引发的问题导致HelloWorld无法运行的解决方法 前言 AndroidStudio下载 安装教程(超级详细) 官网下载 点击启动安装 配置文件 He ...

  4. Gradle项目中gradle.build文件中的buildScript代码块

    感谢原作者的劳动 在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码: buildScript {repositories {mavenCentral()} }repos ...

  5. linux中gradle编译慢,【Linux】解决linux下android studio用gradle构建从jcenter或maven下载依赖太慢...

    一个简单的办法,修改项目根目录下的build.gradle,将jcenter()或者mavenCentral()替换掉即可: allprojects { repositories { maven{ u ...

  6. 【错误记录】Android Studio 中 Gradle 配置报错 ( Can‘t determine type for tag ‘<item name=““ type=“String“>)

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 工程的 build.gradle 中的 " android # defaultConfig " ...

  7. linux中gradle编译慢,6个技巧加速你的gradle编译

    近期我们都在讨论build系统,我们看了一些技巧能够让你的Maven build更快. 结论和反映都势不可挡.由于我们提供的技巧,很多其它的人都非常高兴能加快他们完毕自己的项目.如今,让我们看一下怎么 ...

  8. [Android] AS 中 Gradle 配置运行浅析

    既然是浅析,自然也就没有深入的地方,我也写不出深入的地方,自己没有用过,也不会写出来坑人的:仅仅就是在 Android Studio 中的 Gradle 使用配置而已. Gradle Gradle 是 ...

  9. android gradle resvalue,在插件中Gradle使用resValue在资源文件中添加信息,导致realease版本编译失败...

    问题详细描述 Detailed description of the problem 由于在插件中无法读取自身的meta-data,因此在资源文件中做一些分渠道分发的内容填充.但是使用resValue ...

最新文章

  1. java中单例实现常用的方式_Java单例的常见形式
  2. python起步输入-Python编程起步——输入与输出
  3. PHP中trait的特性
  4. WinForm 2.0 textBox作为参数的查询,显示在DataGridView
  5. PHP 如何在Redis中实现事物(事物提交和事物回滚)
  6. .NetCore 2.1以后的HttpClient最佳实践
  7. c语言定义数组a10 指定各元素,C语言填空题.doc
  8. 《Head First设计模式》第九章(1)迭代器模式
  9. MUI - 自动轮播图 实现
  10. Spring MVC 学习笔记(整理)
  11. Sentinel流控规则_QPS直接失败_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0033
  12. mysql基础以优化
  13. 给定一个字符串,求第一个不重复的字符
  14. 1/4-36UNS-2A的螺纹
  15. matlab开环传递函数 求单位负反馈的系统传递函数,已知单位反馈系统开环传递函数.doc...
  16. Linux安装JDK-8-附有百度网盘链接
  17. 怎么设置电脑的固定IP地址?
  18. 大话设计模式——解释器模式
  19. java jsp公共异常页面_javaWEB总结(16):jsp错误页面的处理
  20. VGGNet网络结构

热门文章

  1. 基础篇(6) splash应用
  2. python 抓取xigua无水印视频
  3. mysql slow log_Mysql-slowlog
  4. 贪心算法——找零钱问题
  5. 全面解读Group Normbalization-(吴育昕-何凯明)
  6. 【密码科普】第6期 - 密码算法和商用密码体系架构
  7. fileinput 时间_BootStrap Fileinput的使用教程
  8. Unix/Linux fork()函数的理解
  9. linux挂载硬盘步骤(简单易用,直接上手,无废话)
  10. jdk和cglib动态代理介绍