Gradle nexus 解决开发机器不连网无法下载gradle插件问题

Posted dingyingsi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle nexus 解决开发机器不连网无法下载gradle插件问题相关的知识,希望对你有一定的参考价值。

在用gradle时常规配置如下(D:gradle-4.9init.dinit.gradle文件,没有这个文件时自建):

  

ext {
    nexus = ‘http://192.168.127.128:8081/repository/maven-public/‘
    username = ‘admin‘
    password = ‘admin123‘
}

allprojects{
  repositories {
    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(nexus)) {
          project.logger.lifecycle "Repository ${repo.url} replaced by ${nexus}."
          remove repo
        }
      }
    }
    maven {
      url nexus
    }
  }
}

 

在这种配置下,仅仅是项目中要用到的构件是从配置的nexus下载的。但是gradle自身的插件依然要从https://plugins.gradle.org/m2/下载。有时开发者机器是无法连接到互联网的,只有nexus机器能连接互联网,并不能访问这个https://plugins.gradle.org/m2/地址,也就无法下载gradle自身依赖的插件,就会报错。所以我们希望开发者的机器下载gradle插件时,也能从nexus下载。此时应在init.gradle中添加如下内容:

ext {
    nexus = ‘http://192.168.127.128:8081/repository/maven-public/‘
    username = ‘admin‘
    password = ‘admin123‘
}

allprojects{
  repositories {
    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(nexus)) {
          project.logger.lifecycle "Repository ${repo.url} replaced by ${nexus}."
          remove repo
        }
      }
    }
    maven {
      url nexus
    }
  }
}

settingsEvaluated { settings ->
    settings.pluginManagement {
        resolutionStrategy {
            
        }
        repositories {
            maven {
              url nexus
            }
        }
    }
}

注意:

  gradle学习方法就是,多看gradle文档,多思考,适当学groovy。本文参考的文档是:https://docs.gradle.org/current/userguide/plugins.html#sec:script_plugins

以上是关于Gradle nexus 解决开发机器不连网无法下载gradle插件问题的主要内容,如果未能解决你的问题,请参考以下文章

解决gradle下载慢的问题

完美解决gradle下载慢的问题

React Native:无法从开发服务器下载 JS 包

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

Gradle初探:发布项目到Nexus资源库

gradle 配置 nexus repository