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

在用gradle时常规配置如下(D:\gradle-4.9\init.d\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
    }
  }
}

在这种配置下,仅仅是项目中要用到的构件是从配置的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

原文地址:https://www.cnblogs.com/dingyingsi/p/9401498.html

时间: 2024-07-31 10:46:59

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

Android 开发必备知识:我和 Gradle 有个约会

腾讯Bugly特约作者:霍丙乾 0.讲个故事 0.1 Ant,我还真以为你是只蚂蚁 真正开始近距离接触编程其实是在2012年,年底的时候带我的大哥说,咱们这个 app 发布的时候手动构建耗时太久,研究一下 ant 脚本吧. 那个时候连 HashMap 都不知道是啥,可想开发经验几乎为零,一个小小的 ant 脚本看得我真是深深地感受到了这个世界充满的恶意.好在后来硬着头皮搞明白了什么 target 之类的鬼东西,不然就没有然后了. 0.2 Maven,你们真的会读这个单词么 Maven /`mei

Vue-cli proxyTable 解决开发环境的跨域问题(转)

Vue-cli proxyTable 解决开发环境的跨域问题 和后端联调时总是会面对恼人的跨域问题,最近基于Vue开发项目时也遇到了这个问题,两边各自想了一堆办法,查了一堆资料,加了一堆参数,最后还得我把自己的localhost映射成上线时将要使用的域名.今天翻看代码时,突然发现vue-cli的config文件里有一个参数叫proxyTable,看这个名字就感觉能解决问题,于是我就去搜了一下,果然.在vuejs-templates,也就是vue-cli的使用的模板插件里,有关于API proxy

android studio 更新 Gradle错误解决方法(Gradle sync failed)

android studio 更新 Gradle错误解决方法 Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题 解决这些问题办法是 首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 内容如下

Vue-cli proxyTable 解决开发环境的跨域问题

Vue-cli proxyTable 解决开发环境的跨域问题 proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', pathRewrite: { '^/list': '/list' } } } 这样我们在写url的时候,只用写成/list/1就可以代表api.xxxxxxxx.com/list/1.那么又是如何解决跨域问题的呢?其实在上面的'list'的参数里有一个changeOrigin参数,接收一个布尔值,如果设置为true,

使用Gradle构建工具开发Kotlin Web应用程序

1.安装Gradle 下载地址https://gradle.org/install.笔者使用的Gradle下载地址链接: http://pan.baidu.com/s/1gf9qyC7 密码: u3k6.注意Gradle要求jdk1.7或更高 下载后的zip包如下 将zip包解压,在F盘新建一个Gradle目录(新建目录的位置自定义)用来放置解压后的文件夹,然后将gradle-3.5文件夹复制到F:\Gradle下 配置Gradle环境变量,在系统环境变量path中追加F:\Gradle\gra

Ionic打包过程下载Gradle失败的解决方法

安卓应用现在很多都是基于gradle进行大包,ionic默认的打包命令 cordova  build --release  android 就是使用gradle进行打包,但同时ionic也支持int这种以前的打包方式.不过需要特定的指出,命令如下. cordova build android -- --ant 回归正题,我们使用gradle打包的时候需要去下载gradle,很多时候打包失败就是因为我们下载不了gradle,导致超时失败.解决的方法就是我们自己去下载gradle,存放在本地,然后更

nodejs 代理 解决开发环境跨域问题

前后端分离项目中,会遇到跨域问题.解决方法无非就是jsonp cors等. 本次项目前端不搭node服务,线上用nginx搭站点,nginx转发ajax请求server. 本地开发环境的跨域问题用node做代理转发请求server(完美解决开发环境下请求server的跨域问题). node代码如下 "use strict"; const express = require('express'); const path = require('path'); const app = exp

Nodejs代理解决开发环境下跨域问题

前后端分离的项目,需要解决开发环境下跨域的问题: 转载链接:https://www.cnblogs.com/ytu2010dt/p/5959899.html 1.安装node环境 2.新建JS文件:nodeProxy.js 代码: "use strict"; const express = require('express'); const path = require('path'); const app = express(); const request = require('r

gradle ofbiz 16 开发环境搭建

原 gradle ofbiz 16 开发环境搭建 2017年02月13日 10:59:19 阅读数:2702 1.安装jdk 2.配置jdk环境变量 3.eclipse 安装svn 插件 4.svn下载Apache OFBiz 16.11.01 源码 5.下载gradle3.3 插件 存放目录C:\Users\Administrator\.gradle\wrapper\dists 6.配置mysql 数据库所需jar包 修改build.gradle 加入compile 'mysql:mysql-