Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)

文章目录

  • Windows安装Gradle
    • 安装
    • 检查安装
    • 加速下载
  • linux安装
  • Eclipse
  • IDEA
  • 仓库
    • 代理的仓库列表
  • 全局配置
    • Gradle全局
    • maven全局
  • 参考资料

Windows安装Gradle

如果你没有安装maven的话,建议先安装maven,再安装Gradle。
不要用什么Gradle Wrapper下载慢,直接用Gradle就好。

安装

下载Gradle,解压,添加系统环境变量

GRADLE_HOME,D:\javatools\gradle-6.2.2
GRADLE_USER_HOME,D:\javatools\maven_repository

添加到path

%GRADLE_HOME%\bin\

注意了,gradle的默认仓库路径为用户目录下的.gradle目录,gradle并没有像maven那样提供配置文件,若要修改默认仓库路径,我们可以设置环境变量GRADLE_USER_HOMEGRADLE_USER_HOME仓库路径可以配置跟maven一样。

检查安装

$ gradle -v
Gradle 6.2.2

加速下载

在USER_HOME/.gradle/下创建init.gradle文件

allprojects {
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/nexus/content/repositories/jcenter'
        all {
            ArtifactRepository repo ->
                if (repo instanceof MavenArtifactRepository) {
                    def url = repo.url.toString()
                    if (url.startsWith('https://repo1.maven.org/maven2')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                        remove repo
                    }
                    if (url.startsWith('https://jcenter.bintray.com/')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                        remove repo
                    }
                }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

linux安装

$ mkdir /opt/gradle
$ unzip -d /opt/gradle gradle-6.2.2-bin.zip
$ ls /opt/gradle/gradle-6.2.2
LICENSE  NOTICE  bin  getting-started.html  init.d  lib  media

添加到path

 $ export PATH=$PATH:/opt/gradle/gradle-6.2.2/bin

Eclipse

这里用的Eclipse是2019-12javaEE 版,不用安装Gradle插件。
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第1张图片
Offline Mode,先打上钩。非常关键的一步!!!

File-New-Other,输入gradle。
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第2张图片
输入项目名netty_study,点next。
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第3张图片
点next
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第4张图片
点next
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第5张图片
这个时候创建出来的项目有可能是报错的,在build.gradle文件中加入以下代码

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public/' }
        mavenLocal()
        mavenCentral()
    }
}

Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第6张图片
保存。Window-Preferences-Gradle。去掉Offline Mode的钩
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第7张图片
File-Restart,重启Eclipse。

IDEA

跟Eclipse差不多。
Gradle国内下载jar慢的解决方案2020版(含eclipse,idea,maven)_第8张图片

仓库

代理的仓库列表

仓库名称 代理源地址 使用地址
central https://repo1.maven.org/maven2/ https://maven.aliyun.com/repository/central 或 https://maven.aliyun.com/nexus/content/repositories/central
jcenter http://jcenter.bintray.com/ https://maven.aliyun.com/repository/jcenter 或 https://maven.aliyun.com/nexus/content/repositories/jcenter
public central仓和jcenter仓的聚合仓 https://maven.aliyun.com/repository/public 或https://maven.aliyun.com/nexus/content/groups/public
google https://maven.google.com/ https://maven.aliyun.com/repository/google 或 https://maven.aliyun.com/nexus/content/repositories/google
gradle-plugin https://plugins.gradle.org/m2/ https://maven.aliyun.com/repository/gradle-plugin 或 https://maven.aliyun.com/nexus/content/repositories/gradle-plugin
spring http://repo.spring.io/libs-milestone/ https://maven.aliyun.com/repository/spring 或 https://maven.aliyun.com/nexus/content/repositories/spring
spring-plugin http://repo.spring.io/plugins-release/ https://maven.aliyun.com/repository/spring-plugin 或 https://maven.aliyun.com/nexus/content/repositories/spring-plugin
grails-core https://repo.grails.org/grails/core https://maven.aliyun.com/repository/grails-core 或 https://maven.aliyun.com/nexus/content/repositories/grails-core
apache snapshots https://repository.apache.org/snapshots/ https://maven.aliyun.com/repository/apache-snapshots 或 https://maven.aliyun.com/nexus/content/repositories/apache-snapshots

全局配置

Gradle全局

对所有项目生效,在USER_HOME/.gradle/下创建init.gradle文件

allprojects {
    repositories {
        def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/nexus/content/repositories/jcenter'
        all {
            ArtifactRepository repo ->
                if (repo instanceof MavenArtifactRepository) {
                    def url = repo.url.toString()
                    if (url.startsWith('https://repo1.maven.org/maven2')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                        remove repo
                    }
                    if (url.startsWith('https://jcenter.bintray.com/')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                        remove repo
                    }
                }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

maven全局

maven在USER_HOME/.m2目录下放置settings.xml文件。可以从maven安装目录的conf/settings.xml拷贝过来。
先配置好maven安装目录的conf/settings.xml文件,再拷贝到.m2目录。


<localRepository>D:\maven_repositorylocalRepository>

 <mirrors>
   <mirror>
       <id>aliyunmavenid>
       <mirrorOf>*mirrorOf>
       <name>aliyunmavenname>
       <url>https://maven.aliyun.com/repository/publicurl>
   mirror>
 mirrors>

参考资料

阿里云公共代理库
Gradle和Maven使用阿里云国内镜像

你可能感兴趣的:(java)