Maven安装与配置
一、需要准备的东西
- JDK
- Maven程序包
二、下载与安装
- 前往https://maven.apache.org/download.cgi下载最新版的Maven程序:
cd ~/Documents/config_software/
unzip apache-maven-3.6.3-bin.zip
- 新建环境变量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文件,查找下面这行代码:
<localRepository>/path/to/local/repo</localRepository>
localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录/Volumes/Macintosh HD/maven-repository。
localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是${user.home}/.m2/repository
当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。
此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中
运行一下sehll命令
mvn help:system
如果前面的配置成功,那么/Volumes/Macintosh HD/maven-repository会出现一些文件。
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
三、配置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