Maven依赖范围转换Gradle依赖范围
maven | gradle | 说明 |
---|---|---|
compile | implementation、api | 前者适用于所有应用Java插件的项目,而api仅适用于专门应用Java库插件的项目。在大多数情况下,使用implementation即可,尤其是在构建应用程序或Webapp时 |
runtime | runtimeOnly | |
test | testImplementation、testRuntimeOnly | Gradle区分了编译项目测试所需的那些依赖项和仅运行它们所需的那些依赖项。testImplementation测试编译所需的依赖,testRuntimeOnly运行测试所需依赖 |
provided | compileOnly | 请注意,War插件添加了providedCompile和providedRuntime依赖项配置。compileOnly与WAR文件中的行为略有不同,并且只确保这些依赖项未打包。但是,依赖项包含在运行时和测试运行时类路径中,因此如果您需要这种行为,请使用providedCompile或providedRuntime. |
import | testImplementation、implementation |
Maven 允许您通过在打包类型为的POM文件的一部分内定义依赖项来共享依赖项约束pom。然后可以将这种特殊类型的POM导入其他POM中,以便在项目中拥有一致的库版本。 Gradle 可以通过基于platform()和forcedPlatform()方法的特殊依赖项语法,将此类BOM用于相同的目的 |
Maven生命周期映射Gradle Task
Maven构建基于
构建生命周期
的概念,该概念由一组固定阶段组成。这可能会成为用户迁移到Gradle的障碍,因为它的构建生命周期有所不同。幸运的是,Gradle的功能可以模仿Maven的各个阶段,为了使Maven用户更轻松地过渡到Gradle,
Base Plugin
给我们提供Maven主要生命周期与Gradle Task对应。
以下是一些主要的Maven阶段以及它们映射到的Gradle任务的列表:
maven | gradle | 说明 |
---|---|---|
clean | clean | |
compile | processResources | 使用Java插件和其他JVM语言插件classes提供的任务。这将编译所有语言的所有源文件的所有类,并通过任务执行资源过滤 |
test | test | 运行单元测试 |
package | assemble | 打包 |
verify | check | 校验 |
install | publishToMavenLocal | |
deploy | publishing |
使用 Maven Publish 插件参考 管方打包发布 |
参考
Gradle官方参考:
Apache Maven迁移构建
版权声明:本文为zh452647457原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。