当前位置:首页 » 数据仓库 » gradle如何配置私服仓库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

gradle如何配置私服仓库

发布时间: 2023-03-27 23:57:29

① 设置Gradle的本地仓库路径

gradle的默认仓库路径为用户目录下的.gradle目录,gradle并没有像maven那样提供配置文件,若要修改默认仓库路径,我们可以设置环境变量GRADLE_USER_HOME,windows下同理。我把仓库设置在gradle目录下
Linux:

Windows:

② 自定义Gradle Plugin入门——Git仓库管理插件

以前的项目业务非常多,分了很多模块,每个模块都做成库上传都仓库。这样的话每次开发新业务切换分支都累个半死。

所以组友宽里的大佬搞了一些脚本,有 shell 的,有 python 的,但是要多学一门语言就感觉很头疼纳告樱,所以想着能不能用 Gradle 写个插件实现。好吧,为了不学 shell 和 python ,花了很长时间研究 Gradle ,笑死。

这个插件主要的功能就是从不同的远程拉取多个仓库到当前项目洞丛,后期切换分支的时候,修改一下分支名就好了,具体使用方式如下

[图片上传失败...(image-4b6638-1647489362381)]

[图片上传失败...(image-bd7c29-1647489362381)]

在上面定义好扩展之后可以在build.gradle调用

[图片上传失败...(image-20a255-1647489362381)]

[图片上传失败...(image-641387-1647489362381)]

[图片上传失败...(image-fed14d-1647489362381)]

[图片上传失败...(image-c0ca90-1647489362381)]

自定义插件的方式到这就结束了。这个步骤比较初级,还有很多需要完善的,但是新手入门已经是够了,看起来非常简单,实际上我花了超过20小时的时间来完成,中间遇到各种编译不通过,依赖出问题, Gradle 报错看不懂,等等问题

总而言之, Gradle 非常复杂,但也非常有用,学一点皮毛能减少大量的时间,多摸鱼不好吗!!!

以上的功能还有不满意的地方:

如果有大佬懂的,或者以后实力上涨了,有解决办法了再继续完善。

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

参考战斗名族大神的文章
https://habr.com/ru/post/416665/

注:我这里用的是zsh,配置使用 .zshrc

Nexus安装

使用 ./nexus start 启动,如果看到如下界面,证明我们配置成功了

我们现在想增加我们自己的私有仓库,如下图操作就可以

点击 Create repository 选择 maven2 (hosted) 托管模式

到这里我们的私有maven库就配置完成了!野山!!

我们使用两种方式配置(1:maven方式,2:maven-publish方式)

首先我们创建一个测试项目,并创建一个libaray

在我们项目的根目录的 build.gradle 中配置刚刚建立的仓库

然后在gradle.properties文件中配置我们的gradle(此处配置信息放在local.properties文件中更好,因为该文件是本地文件,不上传至gitlab上)

再次配置我们libraray下 build.gradle 文件

接下来 Sync Now 一下颂高中,如果没出错的话证明我们的配置是成功的,接下来我们按照下图点击上传即可

然后回到Nexus界面,如出现下图中的配置,证明我们上传成功了,如下图:

我们单独配置一个名称为 publisher.gradle 文件,如下:

在我们使用的地方引入就可以

我们使用命令上传或图形化上传念毕
1:命令

2:图形化

参考:
https://blog.csdn.net/KingBoyWorld/article/details/78917855
https://www.jianshu.com/p/6954613c13ef

如何配置gradle的远程仓库

最简单的方法。用RadioButton控件就行了。何苦搞得这么累呢。如果真要这样做也可以就是五个控件共用一个事件同时订阅相同事件然后再判断你选中的Checkbox其他的为假代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
运行 gradle -q publish 可发布 源代码, classed-jar 包到 204 的 nexus 库。
注意:
1、 jar包的 名字(artifactId) 使用项目名称;
2、 version 设置 和 publish 的 地址要匹配, releases 地址对应到真实版本, snapshots地址对应为 snapshot版本(如:version=0.1.2.snapshot)。

3、在其他项目中引用发布的包,
只要在 build.gradle 文件的 dependencies 加类似:
compile group: 'group值', name: 'artifactId值', version: 'version值'

在 eclipse 环境下,就能查看 jar 包的源代码,自动构建 类路径。

⑤ 如何使用Gradle的maven-publish将jar包或者war包上传到nexus仓库

首先,在build.gradle里边声明依赖maven-publish插件:

apply plugin: 'maven-publish'

然后,配置项目的信息和和nexus的信息:

publishing {
publications {
maven(MavenPublication) {
groupId project.group
artifactId project.name
version project.version //若是war包,就写components.web,若是jar包,就写components.java
from components.web
}
}
repositories {
maven { if (project.version.endsWith('-SNAPSHOT')) {
url = "快照版本的nexus仓库地址"
} else {
url = "release版本的仓库地址"
}

credentials {
username 'nexus仓库用户名'
password 'nexus仓库密码'
}
}
}
}

然后执行 :

gradle

插件会自动生成pom文件,若是jar包,则会自动包含相应的依赖信息,若是war包,则生成的pom文件不会包含依赖信息(因为不需要)

看到如下的输出,则表明上传成功:

标签: java, gradle

⑥ gradle 初了解

title: gradle基础
date: 2018-01-12 14:50:13
categories: android
tags: android基础学习

Gradle 是一个能通过插件形式自定义构建逻辑的优秀构建工具。

以下的一些特性让我们选择了 Gradle:

这里主要记录几个比较常用,重要的点。

gradle的芦者依赖主要分成本地包依赖和远程包依赖。
依赖的关键字主要包括:

依赖格式:

其中的group表示组织,name表示要依赖的库,vesion表示版本。
我们可以简写成

当然,不单只有对jar包的依赖,还可以有对文件的依赖,对项目的依赖早哗镇,他们的写法依次如下:

上面讲到的就是本地依陆粗赖的方式:

首先需要添加远程仓库,android中至少添加一个远程仓库,例如使用开放的maven仓库。

然后,就对添加具体依赖。

启动混淆非常简单,只需要在 build.gradle 中启动即可。

其中的 minfyEnabled 默认是false,即不混淆,因为启动混淆编译速度会比较慢。
与混淆相关的还有一个 shrinkResources 属性,可以通过将其设置为 true ,设置资源文件压缩。

⑦ Mac安装Gradle以及配置本地仓储

这里以mac为例安李戚装哪拍陵gradle,其实windows同理。

如对您有帮助欢迎点赞,留贺扒言讨论,谢谢。

⑧ gradle 配置 nexus repository

1.mac :

   1).解压陵宽大文件进入bin/

   2).   ./nexus start 可以直接运行,注意有个点

2.windows

   1).进入nexus目录,在bin/jsw 下找到nexus.exe

   2).nexus.exe / install安装成系统服务

   3).nexus.exe / start直接运行

   4).nexus.exe / stop停止

   5).nexus.exe / uninstall卸载

3.ubuntu

http://www.jianshu.com/p/9740778b154f

1).浏览器中http://127.0.0.1:8081/ 默认网址可以进入管理界面

2).内置账户 admin admin123

3)点击左上螺丝,进入 设置界面,默认内置了一些库

4).点击 create repository 

普及一下这几种类型的区别:

5).配置仓库

名称可以修改,其他的配置没有具体了解

6)点击create repository之后就创建成功了,会自动跳转到repository列表界面,点击条目的按钮,就可以获取仓库路径了

不详细说明  maven_push.gradle

apply plugin:'maven'

apply plugin:'signing'

configurations {

deployerJars

}

repositories {

mavenCentral()

}

// 判断版本尺竖是Release or Snapshots

def isRelease() {

return!VERSION.contains("SNAPSHOT");

}

// 获取仓库url

def getRepositoryUrl() {

returnisRelease() ? RELEASE_URL : SNAPSHOT_URL;

}

uploadArchives {

repositories {

mavenDeployer {

beforeDeployment {

MavenDeployment deployment -> signing.signPom(deployment)

}

pom.version = VERSION

pom.artifactId = ARTIFACT_ID

pom.groupId = GROUP_ID

repository(url: getRepositoryUrl()) {

authentication(userName: NAME,password: PASSWORD)// maven授权信息

}

}

}

}

// 进行数字巧庆签名

signing {

// 当 发布版本 & 存在"uploadArchives"任务时,才执行

required { isRelease() && gradle.taskGraph.hasTask("uploadArchives") }

sign configurations.archives

}

在build.gradle 中引用maven_push.gradle

gradle.properties中配置账号与仓库链接

最后在task中,点击uploadArchives上传

项目的gradle中配置内部maven库路径

⑨ 【Gradle深入浅出】——Gradle配置(一)

1.【Gradle深入浅出】——初识Gradle
2.【Gradle深入浅出】——Gradle基础概念
3.【Gradle深入浅出】——Android Gradle Plugin 基础概念
4.【Gradle深入浅出】——Gradle配置(一)
5.【Gradle深入浅出】——Gralde配置(二)

前面三篇博客讲解了Gradle的基础概念,看完前面三篇博客我们应该对于Gradle都有了一个基础的认知,知道了文件的作用,Gradle的基本构成,本篇博客开始就开始进入Gradle的学习,首先讲解的是Gradle的配置,Gradle配置应该是我们日常开发中必不可少的技能,平时的打包,编译等等都需要熟悉Gradle的配置。

我们知道Gradle都关于属性配置有两个文件, local.properties 和 gradle.properties ,这两个文件的实质都是生成Java的 Properties 对象,所以要属性这两个文件的作用,首先要属性下 Properties 类。
我们首先来看下这个类的基本上结构。

看完这个我们应该就有一个大体的认识了, Properties 本质就是一个HashTable,支持设置默认属性,其他的没啥区别,哪我们看下 Properties 如何读取文件呢

可以看到 Properites 给我们提供了三个加载文件的方式,所以这里我们也可以得出一个结论, 使用 Properties 不是必须使用 .properties 格式的文件。
哪可能有人要问了,为啥这里的配置都使用properties格式的文件呢?
我猜测可能是复用Spring Boot中的支持的配置文件,Spring Boot中支持三种格式核烂培的配置文件 YAML,XML,Properties ,具体的差异这里就不展开讲解了。
我们可以理解为 .properties 就是类似于json的一套配置文件格式,IDE对于这类文件有特殊的支持,比如注释等语法,做了统一的规范
Properties文件的格式规范

有了对于Properties类的理解,我们在来看local.properties文件,理解起来就方便类许多,前面几篇博客已经提到了 local.properties 是Studio自动生成的一个本地配置文件,并且不会提交到远端,是我们自己本地的配置改唯文件,常见的配置如下:

既然是配置文件,那么如何在 local.properites 中定义全局变量,然后在build.gradle中读取呢?比如我们的maven上传需要用户的姓名密码,每个人的都不一样,所以可以放到local.propertiest文件中

和前面介绍的一样,我们只需要在local.properties中定义变量,然后在gradle中读取变量只需要生成Properties类来进行读取文件。

同样的这也是一个Properties类型的文件,但这个文件主要是配置和Gradle自身相关的配置内容的,接下来聊聊他的几个作用:

这里主要是配置本项目在使用Gradle进行编译时的配置,比如虚拟机堆栈配置(常见的编译速度优化就在这里配置)

所以看到上面的定义后,我们就可以理解常见的“编译速度优化”的配置的大概意思

除了刚才说的这个历基文件用于配置gradle属性,这个文件还可以用于配置系统属性和android属性
并且可以区分配置不同的项目的配置
1、单项目gradle使用代理:gradle/wrapper/gradle-wrapper.properties
2、全局gradle使用代理:userdir/.gradle/gradle.properties

其他的系统变量这里就不列举了,具体看我们遇到具体场景来设置

接着来看下在gradle.properties文件中如何定义变量,gradle.properties就是官方定义的用来定义变量的文件的地方,所以定义和获取就不需要像local.properties那么麻烦了。

获取变量,就不需要通过文件流读取文件流,gralde内部自身已经做了这个,我们可以直接引用变量即可。

setting.gradle前面的博客介绍了,是用于配置项目的组成和模块的,所以一半我们的setting.gradle文件都是这样的

前面有讲过setting.gradle的实质是生成一个Setting对象,我们按住ctrl点击include就进入了Setting.gradle类,其实就可以知道我们可以调用的api,这里还是介绍我们常用的几个方法吧。首先来看下最常用的 include 方法。

这里特意把注释也放了进来,不得不说老外对于注释真的写的非常详细,往往我们忽视了这么冗长的注释,但当发现问题,从搜索引擎上搜相关资料都时候就会发现,其实大部分就是对于注释都翻译。
所以这里我下面介绍都内容,就会发现和上面注释都大同小异。
首次看下这里的引入方式,一般都是 include ':app' ,这里的语法是这样的

在这里 : 表示的路径的分隔符,也就是 的意思,所以这里都需要使用 : ,其次这里都路径是相当于根目录的路径。然后我们可以看到其实这个方法是可变参数,所以这里支持多个项目引入。

所以我们如果有一个这样的目录结构的项目

那么这时的setting.gradle就是这样

这时我们可能有个问题:我们如果引入的不是根目录下的项目怎么办?也就是引入其他路径下的项目作为我们的子mole,因为这里一直是相对与根目录的路径

这样我们就可以引入不在这个项目中的Lib作为我们这个项目的Lib,组件化的工程经常就会这样使用。
最后我们看下还有一个小知识点,我们如果想改变这个Lib在Studio的显示的名称,该如何操作?

这个方法的作用就是我们这样的,可以改变Lib在IDE中的名称。

接着来看下在setting.gradle怎么定义全局变量呢?这时候就是利用gradle的拓展属性的特性了。

然后在build.gradle中使用变量的时候,就还是使用gradle.ext使用即可。

关于ext属性我们后面专门再讲下,我们前面也讲到了我们全局就只会有一个gradle对象,所以这里可以理解是一个全局的map对象,这样就好理解了很多。

至此,本篇博客对于 gradle.properties 、 local.properties 、 setting.gradle 都配置都有了一个较为详细都讲解,我们后面在使用过程中,对于这三个文件的配置都不会那么陌生,并且对于三个文件的差异都有了一个基本都认知,知道我们在定义本地变量,不同人都环境有差异都地方都应该在local.properties配置,大家共同的配置和变量定义可以放到gradle.properties这个专职用于存放配置的文件,最后就是专门用于配置我们项目的目录结构的setting.gradle,当然这个文件也可以用于配置一些变量,这时候我们就要把我单一职责的原则,也就是高内聚,低耦合那一套,按照文件职责进行划分,下一篇博客准备对build.gradle的配置进行讲解。

⑩ 安装Gradle,在IDEA中使用Gradle

https://services.gradle.org/distributions/

GRADLE_HOME:野早橡gradle压缩包解压后的目录
GRADLE_USER_HOME:gradle默认的仓库地址
Path:增加一段 %GRADLE_HOME%/bin

安装软件、配置环境变量,可参考
https://blog.csdn.net/qq_22172133/article/details/81513955

new -> project -> gradle -> java -> next -> 输入groupId、ArtifactId -> next -> next -> finish

打开idea右侧的gradle菜单,Tasks/build子菜单下有一组gradle指令,可以使用jar指令打包项目。打包结果输出在build目录。
如上图。

idea会不支持睁仿高版本的gradle。比如我的idea是2018.3的版本,可以使用5.6.2版本的gradle,但是使用6.x.x版本的grade就不行。
我在网上也没有找到一份具体的idea支持的gradle版本对应表。大家如果发现自己的idea使用gradle报错,可以试试降颂旁一下gradle的版本,修改gradle/wrapper/gradle-wrapper.properties。

5.6.2版本的gradle,可以build成功

6.6.1版本build失败