Macos Maven与Gradle的安装与配置

Maven安装与配置

一、需要准备的东西

  1. JDK
  2. Maven程序包

二、下载与安装

  1. 前往https://maven.apache.org/download.cgi下载最新版的Maven程序:
cd ~/Documents/config_software/
unzip apache-maven-3.6.3-bin.zip

  1. 新建环境变量MAVEN_HOME
sudo vim /etc/profile
MAVEN_HOME=/Users/jiangbin/Documents/config_software/apache-maven-3.6.3
# export $MAVEN_HOME
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile

至此,maven已经完成了安装,我们可以通过DOS命令检查一下我们是否安装成功:

mvn -v                                                                                                                                                                                                                                                                                ✔
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/jiangbin/Documents/config_software/apache-maven-3.6.3
Java version: 1.8.0_271, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.6", arch: "x86_64", family: "mac"

三、配置Maven本地仓库

在目录下新建maven-repository文件夹,该目录用作maven的本地库。

mkdir maven-repository
pwd
/Volumes/Macintosh HD/maven-repository

打开$MAVEN_HOME/conf/settings.xml文件,查找下面这行代码:

/path/to/local/repo

localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录/Volumes/Macintosh HD/maven-repository

image

localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是${user.home}/.m2/repository

当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。

此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中

运行一下sehll命令

mvn help:system
image
image-20201229185216767

如果前面的配置成功,那么/Volumes/Macintosh HD/maven-repository会出现一些文件。

image-20201229185025595

Gradle安装配置

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy、Kotlin和Scala。

到此不得不说另一个很火的工具maven,众所周知,maven的两大作用:

①:管理jar包

②:构建项目

使用maven的缺点,XML配置文件的繁琐,特别是项目较大时,pom.xml配置眼花缭乱。

Gradle在maven的基础上,简化了配置文件,自动搜索Gradle等,使得我们创建管理项目更加简单。

**一、下载,Gradle是压缩文件,下载解压即可**

unzip gradle-6.7.1-all.zip
cd gradle-6.7.1
pwd
/Users/jiangbin/Documents/config_software/gradle-6.7.1

二、配置环境变量

GRADLE_HOME 变量值为Gradle文件解压的实际路径 GRADLE_HOME =/Users/jiangbin/Documents/config_software/gradle-6.7.1

在系统变量 path中加入:%GRADLE_HOME%\bin;

sudo vim /etc/profile
GRADLE_HOME=/Users/jiangbin/Documents/config_software/gradle-6.7.1
export PATH=$GRADLE_HOME/bin:$PATH
source /etc/profile
image-20201229190207894

三、配置Gradle使用maven本地仓库,这样Gradle就不会重新下载已经存在maven本地仓库的jar包,从而节省时间和空间。

在环境变量中加入新的系统变量:GRADLE_USER_HOME 变量值是maven本地仓库的路径,本文为例/Volumes/Macintosh HD/maven-repository

此时,Gradle下载的文件将放到指定的仓库路径中。但是还需要修改build.gradle文件中加入mavenLocal() 引用本地仓库

repositories { //repositories闭包
    mavenLocal() //配置先从本地仓库寻找jar包,优先寻找上一个配置,找到不执行下面的配置
    mavenCentral() //配置从中央仓库寻找
    google() //第三方仓库
    jcenter() //代码托管库:设置之后可以在项目中轻松引用jcenter上的开源项目
  }

gradle全局设置阿里云仓库

gradle设置init脚本的时候,看到一个讲可以设置一个gradle启动初试执行脚本,于是想到是否可以在gradle每次初始化时,自动去替换工程中的maven仓库位置,指向阿里云。

新建一个init.gradle 文件到$USER_HOME/.gradle/目录下,这们就省的翻墙了。

init.gradle 文件内容如下:

allprojects {
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public/'
        }
        maven {
            url 'https://maven.aliyun.com/repository/google/'
        }

        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository) {
                def url = repo.url.toString()

                if (url.startsWith('https://repo.maven.apache.org/maven2/') || url.startsWith('https://repo.maven.org/maven2') 
                    || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')
                    || url.startsWith('https://maven.google.com/') || url.startsWith('https://dl.google.com/dl/android/maven2/')) {
                    //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
    }

    buildscript {
        repositories {
            maven{ url 'https://maven.aliyun.com/repository/public/'}
            maven{ url 'https://maven.aliyun.com/repository/google/'}

            all { ArtifactRepository repo ->
                if (repo instanceof MavenArtifactRepository) {
                    def url = repo.url.toString()
                    if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')
                         || url.startsWith('https://dl.google.com/dl/android/maven2/')) {
                        //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                        remove repo
                    }
                }
            }
        }
    }

}

全局翻墙代理配置#

同样新建一个gradle.properties 文件到$USER_HOME/.gradle/目录下,如果放在项目目录下,则只对当前项目生效。

gradle.properties 文件内容如下:

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Wed Apr 10 21:30:10 CST 2019
systemProp.https.nonProxyHosts=127.0.0.1
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyPort=7890
systemProp.http.nonProxyHosts=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.http.proxyPort=7890
image-20201229191145446

你可能感兴趣的:(Macos Maven与Gradle的安装与配置)