Eclipse Maven和Gradle区别及使用Eclipse中使用Gradle下载Jar包

Posted 海底一小鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse Maven和Gradle区别及使用Eclipse中使用Gradle下载Jar包相关的知识,希望对你有一定的参考价值。

一、简介

  代码三大构建工具,Ant、Maven和Gradle。现在的状况是Maven和Gradle并存,Gradle使用的越来越广泛。

二、Maven和Gradle区别

  Maven的主要功能是多模块构建、依赖管理系统、一致的项目结构、一致的项目构建模型和插件机制。主要体现以下5点

  1. 多模块构建

现在的项目中,一般我们会将一个项目分解是多个模块。在Maven中需要定义一个parent POM作为一组module的通用配置,我们可以用<modules>标签来定义一组子模块

在Gradle也支持多模块构建,在parent的build.gradle中可以使用subprojects和allprojects定义所有的子模块。对于子模块的定义可以放在setting.gradle文件中。

  2.依赖管理系统

    在Maven中,可以用GroupID、ArtifactID、Version组成一个唯一的标识。任何Maven项目都必须要定义这三个属性。GroupID相当于package,ArtifactID相当于Class。

Gradle支持动态的版本依赖,在版本号后面使用+号可以实现动态的版本管理。

  3.一致的构建模型

  Maven设置了标准的项目周期,包含验证、初始化、生成原始的数据、处理原始数据、生成资源、处理资源、编译、处理类。。。。等等。而Gradle更加的灵活,可以创建一个task,并随时通过depends建立与已有task的依赖关系

  4.一致的项目结构

  Maven指定了一套标准的项目结构作为java项目结构,Gradle也是沿用了这套标准。在Gradle中只需在文件中包含applyplugin:\'java\',系统既可以自动识别

  5.插件机制

  两者都采用了插件机制

三、Eclipse中使用Gradle下载Jar包

  1.下载Gradle并配置环境变量

    下载地址:https://gradle.org/install/

    

    • gradle解压到某个目录下,比如/Users/haidiyixiaoyu/workspace/software/gradle-6.0.1

    • 把 gradle的bin 目录加到环境变量中,Mac 是编辑~/.bash_profile 红色部分
      终端输入命令gradle -v,打印版本信息表示配置成功

 

haidiyioyudembp:~ haidiyixiaoyu$ cat .bash_profile

export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH

export PATH=${PATH}:$GRADLE_HOME/bin

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

GRADLE_HOME=/Users/haidiyixiaoyu/workspace/software/gradle-6.0.1

export GRADLE_HOME

    2.Eclipse中安装插件

    

利用 Install new softwate -> Install, 输入插件网址 http://dist.springsource.com/release/TOOLS/gradle,安装完需要重启 Eclipse。

 

 然后右键项目,Configure -> Convert to Gradle Project,完成后会发现项目左上角有个 G 的

 

 

利用Gradle下载依赖 Jar 包

注意在build.gradle文件里的compile \'com.qiniu:qiniu-java-sdk:7.0.+\'就是我们需要的 jar 包。待会 gradle 就会根据该配置下载jar 包,gradle 还会分析其中的依赖关系将所有需要的包一并下载。 
项目右键,点击 Gradle -> Refresh All

 

可以看到控制台输出如下信息,表示正在下载jar 包。从中也可以看出,虽然我们只写了一个qiniu:qiniu Jar 包,但是它依赖于okhttp、okio等,gradle 会帮助我们一并下载。

 

以上是关于Eclipse Maven和Gradle区别及使用Eclipse中使用Gradle下载Jar包的主要内容,如果未能解决你的问题,请参考以下文章

eclipse和IDEA有啥区别

Linux下Nexus 3私服配置及gradle配置使用

gradle/maven/eclipse工程相互转化

Gradle 和 Maven 的区别? [关闭]

Gradle系列:深入了解Gradle和Maven的区别

如何在 Eclipse Swing/maven 和 Androidstudio/gradle 项目之间共享代码?