gradle和maven(gradle和maven哪个主流)

本篇文章给大家谈谈gradle和maven,以及gradle和maven哪个主流对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何使用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仓库密码'

}

}

}

}

然后执行 publishMavenPublicationToMavenRepository:

gradle publishMavenPublicationToMavenRepository

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

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

标签: java, gradle

[img]

android studio添加gradle还要添加maven吗

鉴于Android Studio使用Gradle构建项目,在IDE的使用过程中可能会遇到很多令人头疼的问题。大锤也是第一次接触,为有个基本的认识,特找来Android官方手册,和大家一起学习学习。翻译不当之处,望指出。

为什么要用Gradle?

Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑

以下是为什么Android Studio选择Gradle的主要原因:

使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)

基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。

支持已有的Maven或者Ivy仓库基础建设

非常灵活皮链肢,允许使用best practices,并不强制让你遵唤凳照它的原则来。

其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。

允许IDE集成,是很好的API工具

需要准备:

Gradle 1.6 or 1.7

SDK with Build Tools 17.0.0 (released 5/16/2013)

Basic Project

在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了燃世这个项目的整体构建基础。

build文件

最基本的java程序,它的build.gradle文件就一句话:

apply plugin: 'java'

最基本的Android项目,它的build.gradle如下:

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'com.android.tools.build:gradle:0.5.6'

}

}

apply plugin: 'android'

android {

compileSdkVersion 17

}

我们一步步来分析一下上面三部分的内容。

buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6

apply plugin 指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样

android{...} 中配置了所有android构建的参数,这里也就是Android DSL的入口点。

默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。

值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。

gradle和maven的区别

对于maven与gradle来说,gradle可能功能贵更强大一些,但是我接触的相当一部分程序员连maven都不会使用,更不用说gradle了,并且现在maven的知名度是高于gradle的,如果你要学习一个裤隐的话,建议你学习maven,这个用的多,就算你祥纯握以后要使用到gradle,你有maven的基础,学习gradle也是很快的谨庆

怎样清除Gradle,Maven多余的依赖包等缓存文件

先从网上下载Primo.Ramdisk这个软件,安装到电脑上,有个补丁Patch.exe程序,打上后,就是完整注册版。

2

安装后,启动程序,在程序界面下端,查看一下当前内存识别状态,只识别了2946MB内存,先要识别未识别的内存,点击左侧的图标,开始蚂衫磨进行识别。

3

进入系统未识别内存管理,有红色的文字提示“系统未识别内存尚未启用”,要识别,点击“启用”。有风险警告提示,按“是”。还会提示一些其它内容,如启用休眠,有足够的硬盘存放休眠文件,不能设置页面文件在虚拟硬盘上等等。

4

在设置选项页面,如果自已的电脑设置了休眠功能,就要把“支持系统未识别内存休眠”这一项勾上。

为了安全起见,在“保留前端地址空间的系统未识别内存”前面打上勾,然后根据内存大小设置100MB-500MB保留空间。

当提示成功启用系统未识别内存功能,就表示成功了。

提示:内存小的,少设置一点前端保留空间,100左右,大的多设置一点,我设置成200MB,因为我没有启用休眠功能,所以也没有勾选支持系统未识别内存休眠选项。

END

新建虚拟硬盘

1

未识别内存启用后,有4616MB可用,接下来就开始把多余的内存新建成虚拟硬盘了,点击第一个工具“新建硬盘”。

2

在新建虚拟硬盘向导窗口,选择“使用全新设置创建虚拟硬盘”这一项。下一步。

3

硬盘大小:全部未使用的内存(4610MB)。硬盘类型:Dircet-IO(这个速度更快)。盘符:R(这个可以自定义,只要之前未被使用就行)。

4

接下来设置物理内存实体特性,选择“使用系统未识别内存”即可,按下一步。

5

文件系统:NTFS。簇大小:4096。卷标:默认RAMDISK(可自定义)。勾选“自动创建“TEMP”文件夹”。

6

设置用户使用权限,勾选“完全控制”即可,其实也就都勾选了。

7

关联镜象文件,解释一下,就是关机后,把虚拟内存硬盘上的文件,转移到一个镜象文件夹中,以便下次开机,把镜象中的文件复闷斗制到虚拟硬盘中,可以再次接着使用。

我的目的是,用这个虚拟硬盘缓存临时文件,关机之后,马上删除,根本不要镜像保存,所以这项根本不需要,直接跳过。

8

到了这里,就算创建完成了,仔细检查一下,如果有不满意的,可以返回修改,满意了,按“完成”。

END

移动缓存文件夹到虚拟硬盘上

已经把多余内存创建成虚拟硬盘了,就要使用它,因为内存的读取速度是非常快的,远比硬盘快多了,甚至比固态硬盘还快,所以,最适合放系统的临时文件夹和各种浏览器的缓存文件夹。

先介绍如何把系统临时文件夹放到虚拟硬盘上。在Ramdisk软件界面,点击实用工具,如下图。

系统的临时文件夹是系统环境变量,可以在系统中进行设置,不过太麻烦,在这个工具中设置非常方便,在环境变量TEMP/TEP更改为这一项,点击选择按钮。

选择刚刚创建的RAMDISK虚拟硬盘下的TEMP文件夹即可。

把要更改的文件夹选择好后,按“更改”按钮,确认更改后,就算完成了。

下面介绍浏览器的缓存文件夹移动过程,以IE为例。进入控制面板,打开“Internet 选项”,在常规选项下,点击“浏览历史记录”下的“设置”按钮。

进入设置页面,点击“移动文件夹”,把文件夹设置到虚拟硬盘上即可,最好不要直接选择R盘符,在R盘下新建一个Internet临时缓存文件夹,集中管理缓存网页文件,因为虚拟R盘中还要放其它临时文件,每一种临时塌则文件都必须有一个存放文件夹。

0火狐浏览器firefox怎么更改缓存文件夹

gradle和maven有什么用?分别有什么区别

Gradle和Maven都是项目自动构建工具,编译源代码只是整个过程的一个方面,更重要的是,你要把你的软件发布到生产环境中来产生商业价值,所以,你要运行测试,构建分布、分析代码质量、甚至为不同目标环境提供不同版本,然后部署。整个过程进行自动化操作是很有必要的。

整个过程可以分成以下几个步骤:

编译源代码

运行单元测试和集成测试

执行静态代码分析、生成分析报告

创建发布版本

部署到目标环境

部署传递过程

执行冒烟测试和自动功能测试

如果你手工去执行每一个步骤无疑效率比较低而且容易出错,有了自动化构建你只需要自定义你的构建逻辑,剩下的事情交给工具饥饥去完成。

虽然两者都是项目工具,但是maven现在已经是行业标准,Gradle是后起之秀,很多人对他的了解都是从android studio中得到的,Gradle抛弃了Maven的基于XML的繁琐配置,众所周知XML的阅读体验比较埋肢氏差,对于机器来说虽然容易识别,但毕竟是由人去维护的。取而代之的是Gradle采用了领域特定语言Groovy的配置,大大简化了构建代码的行数,比如在Maven中你要引入一个依赖:

properties

kaptcha.version2.3/kaptcha.version

/properties

dependencies

dependency

groupIdcom.google.code.kaptcha/groupId

artifactIdkaptcha/artifactId

version${kaptcha.version}/version

classifierjdk15/classifier

/dependency

dependency

groupIdorg.springframework/groupId

artifactIdspring-core/artifactId

/dependency

dependency

groupIdorg.springframework/groupId

弯散artifactIdspring-beans/artifactId

/dependency

dependency

groupIdorg.springframework/groupId

artifactIdspring-context/artifactId

/dependency

dependency

groupIdjunit/groupId

artifactIdjunit/artifactId

/dependency

/dependencies

然后我将其转换成Gradle脚本,结果是惊人的:

dependencies {

compile('org.springframework:spring-core:2.5.6')

compile('org.springframework:spring-beans:2.5.6')

compile('org.springframework:spring-context:2.5.6')

compile('com.google.code.kaptcha:kaptcha:2.3:jdk15')

testCompile('junit:junit:4.7')

}

注意配置从原来的28行缩减至7行!这还不算我省略的一些父POM配置。依赖的groupId、artifactId、 version,scope甚至是classfier,一点都不少。较之于Maven或者Ant的XML配置脚本,Gradle使用的Grovvy脚本杀伤力太大了,爱美之心,人皆有之,相比于七旬老妇松松垮垮的皱纹,大家肯定都喜欢少女紧致的脸蛋,XML就是那老妇的皱纹。

Gradle给我最大的有点是两点。其一是简洁,基于Groovy的紧凑脚本实在让人爱不释手,在表述意图方面也没有什么不清晰的地方。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,那对于一个刚入门的用户来说,没个一两天几乎是不可能完成的任务

gradle和maven的区别是什么?

gradle和maven的区别为:依赖项不同、版本依赖不同、定义工具不同。

一、依赖项不同歼消

1、gradle:gradle一个依赖项有4种scope,分别是compile、氏困知runtime、testCompile、testRuntime。

2、maven:maven一个依赖项有6种scope,分别是complie(默认)、provided、runtime、test、system、import。

二、版本依赖不同

1、gradle:gradle支持动态的版本依赖。尺毁在版本号后面使用+号的方式可以实现动态的版本管理。

2、maven:maven只支持静态的版本依赖。升级版本需要手动修改版本依赖的版本号。

三、定义工具不同

1、gradle:gradle使用allprojects和subprojects代码块来分别定义子模块里面的配置。

2、maven:maven需要定义个parent POM作为一组module的聚合POM。在该POM中可以使用modules标签来定义一组子模块。

关于gradle和maven和gradle和maven哪个主流的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表