gradle和maven(gradle和maven哪个主流)
本篇文章给大家谈谈gradle和maven,以及gradle和maven哪个主流对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何使用Gradle的maven-publish将jar包或者war包上传到nexus仓库
- 2、android studio添加gradle还要添加maven吗
- 3、gradle和maven的区别
- 4、怎样清除Gradle,Maven多余的依赖包等缓存文件
- 5、gradle和maven有什么用?分别有什么区别
- 6、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哪个主流的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。