Maven和Gradle的区别
二者都是java语言主流的构建工具, 提供默认的软件包结构,生命周期管理以及依赖管理; Gradle相对于Maven来说减少了冗长的代码, 引入依赖只需要将它的groupId,artifactId和version三者用:
连接起来;并调用compile函数就可以啦
Maven的pom文件:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
Gradle基于Groovy语言配置:
dependencies {
compile("org.springframework.boot:spring-boot-starter-security")
}
总的来说,Gradle相比Maven更简洁,但制品发布需要自己很多额外的操作, 但是Maven会更加灵活,制品发布会更简单, 在Android方面只能使用Gradle
Gradle语法
依赖项添加
示例:
//Gradle7之后使用 implementation 而不是compile,
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
testImplementation 'junit:junit:4.12'
implementation group: 'redis.clients', name: 'jedis', version: '2.9.0'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-redis', version: '1.3.5.RELEASE'
implementation group: 'org.springframework.data', name: 'spring-data-redis', version: '1.7.2.RELEASE'
}
// 或者使用`:`连接这种格式
implementation "org.springframework.boot:spring-boot-starter-redis:1.3.5.RELEASE"
添加Maven仓库
repositories {
maven {
// 填写官方的仓库地址或者其他国内镜像地址
url "http://maven.petrikainulainen.net/repo"
}
}
或者本地仓库
repositories {
maven {
// 填写自己本地的仓库路径
url “../maven-repo”
}
}
仓库别名
- mavenCentral()别名,表示依赖是从Central Maven 2 仓库中获取的。
- jcenter()别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。
- mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的
这些属性在Maven仓库中是必须的,如果你使用其他仓库,一些属性可能是可选的。打个比方,如果你使用Flat directory仓库,你可能只需要指定名称和版本
添加多个依赖项 逗号隔开
dependencies {
implementation (
[group: 'foo', name: 'foo', version: '0.1'],
[group: 'bar', name: 'bar', version: '0.1']
)
}
dependencies {
// 快捷`:`
implementation 'foo:foo:0.1', 'bar:bar:0.1'
}
声明属于不同配置项的依赖
dependencies {
implementation group: 'foo', name: 'foo', version: '0.1'
testImplementation group: 'test', name: 'test', version: '0.1'
}
dependencies {
implementation 'foo:foo:0.1'
testImplementation 'test:test:0.1'
}
Groovy和Java和Kotlin
Groovy完全兼容Java的语法, 额外提供了很多语法糖, 比Java更加简洁
Java是一门解释型静态强类型语言, 而Groovy是一门动态语言,添加了脚本语言的特性,语法灵活易于阅读和编写,其在执行时需要进行动态类型检查和解释,因此相对较慢
Kotlin是一种静态类型语言,编译为字节码后可以直接在JVM上运行,因此性能更好
标签:implementation,boot,gradle,Maven,0.1,version,foo From: https://www.cnblogs.com/code-jia/p/18070653