放弃Maven我选择Gradle

1.我放弃Maven的原因

1.首先Maven的配置是xml格式的,如果依赖的包比较多,那么XML会非常非常长

2.xml文件不太灵活,如果想要加一些自定义的属性,搞起来就比较麻烦了

3.虽然maven很稳定,但是随着java版本的不断更新,就算是jdk11,Maven也需要更新内置的插件了。

2.安装Gradle

安装就就不多说了,去官网下载,配置环境变量的一系列操作。当然,如果你不喜欢弄这些繁琐的工作,你也可以使用gradle wrapper。其实他就是一个脚本文件,如果运行脚本的时候发现你的电脑里面没有gradle 就会下载一个。

3.使用gradle wrapper

 IDEA默认就会使用gradle wrapper来创建项目,所以无需安装gradle也可以正常运行。这时候项目结构应该类似下图所示,使用Maven的同学应该比较熟悉,因为这和Maven的项目结构几乎完全一致。gradle文件夹和gradlew那几个文件就是gradle wrapper的文件,而.gradle后缀名的文件正是gradle的配置文件,对应于Maven的pom.xml。

 gradle优点之一就是可以自定义下载gradle的版本,如果是团队合作的话,这个功能就方便,简单设置即可统一团队的构建工具版本,具体设置实在gradle文件夹下的gradle-wrapper.properties

 4.版本管理

        相对于Maven一大串的配置,gradle只需要一行。这里推荐一下Jetbrains的package search网站,是寻找maven和gradle依赖包的最佳网站,可以非常轻松的搜索和使用依赖项。

gradle版本控制的粒度要比Maven更加细致,Maven只有compile,provided,test,runtime四种scope而gradle有以下几种:
1.implementation 默认的scope, implementation的作用域会让依赖在编译和运行时均包含在内,但不会暴露在类库使用者的编译时,比如我们使用gson,那别人使用我们的类库的时候,是不会出现gson依赖

2.api 和implementatio类似 但是可以api允许我们将自己类库的依赖暴露给我们的使用者

3.complieOnly和runtimeOnly 一个是编译时可见,一个是运行时可见。

4.testImplementation 这种依赖在测试和编译时和运行时可见,类似于maven的test域

5.testCompileOnly和testRuntimeOnly,这两种类似于compileOnly和runtimeOnly,但是作用于测试编译时和运行时。

5.配置镜像

Maven官方仓库的下载速度非常慢,所以一般我们要配置国内的镜像源。gradle在这方面和Maven完全兼容,因此只需稍微配置一下镜像源,即可使用Maven的镜像。如果你用gradle构建过项目,应该就可以在用户目录的.gradle文件夹下看到gradle的相关配置和缓存。

在gradle中配置下载镜像需要在.gradle文件夹中直接新建一个init.gradle初始化脚本,脚本文件内容如下。这样一来,gradle下载镜像的时候就会使用这里配置的镜像源下载,速度会快很多。再加上gradle wrapper在中国设置了CDN,现在使用gradle的速度应该会很快。

allprojects {
   repositories {
       maven {
           url "https://maven.aliyun.com/repository/public"
       }
       maven {
           url "https://maven.aliyun.com/repository/jcenter"
       }
       maven {
           url "https://maven.aliyun.com/repository/spring"
       }
       maven {
           url "https://maven.aliyun.com/repository/spring-plugin"
       }
       maven {
           url "https://maven.aliyun.com/repository/gradle-plugin"
       }
       maven {
           url "https://maven.aliyun.com/repository/google"
       }
       maven {
           url "https://maven.aliyun.com/repository/grails-core"
       }
       maven {
           url "https://maven.aliyun.com/repository/apache-snapshots"
       }
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值