Maven依赖范围转换Gradle依赖范围及Maven生命周期映射Gradle Task

  • Post author:
  • Post category:其他




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 版权协议,转载请附上原文出处链接和本声明。