如何将 Maven 构建转换为 Gradle?

     2023-02-26     267

关键词:

【中文标题】如何将 Maven 构建转换为 Gradle?【英文标题】:How to convert a Maven build to Gradle? 【发布时间】:2014-01-18 16:20:10 【问题描述】:

我知道我应该使用我的build.gradleinit.gradle 文件,但我不知道要写什么或如何使用pom.xml 文件指向我的项目文件夹。

【问题讨论】:

如果您完全不熟悉编码,我不建议您使用 Gradle,因为它需要您在 Groovy 代码中定义您的构建。在发布过于模糊而无法回答的问题之前,您应该阅读一些基本的 Groovy、Maven 和 Gradle 教程。 不幸的是,我需要在不久的将来进行概念验证。我想一个更好的问题是,如何将 maven 项目转换为 gradle。 【参考方案1】:

第一步是在包含(主)POM 的目录中运行gradle init。这会将 Maven 构建转换为 Gradle 构建,生成一个 settings.gradle 文件和一个或多个 build.gradle 文件。对于更简单的 Maven 构建,这就是您需要做的所有事情。对于更复杂的 Maven 构建,可能需要在 Gradle 端手动添加无法自动转换的功能。

https://guides.gradle.org/migrating-from-maven/

【讨论】:

在生成的build.gradle 中应该有注释说明它的含义。 是的,有这个:compile(group: 'commons-lang', name: 'commons-lang', version:'1.0.1') /* 这个依赖最初是在Maven中提供了范围,但该项目不是战争类型。 Gradle 尚不支持此行为,因此此依赖项已转换为编译依赖项。请在解决后查看并删除此关闭。 */ 如果您需要这方面的帮助,请在此处搜索 gradle provided scope 或在 forums.gradle.org 上搜索。这是一个常见的问题。 我必须明确地将“apply plugin: 'war'”添加到我转换后的 Maven 战争项目中(即使我的 pom.xml 有 war),以便“providedCompile组:'javax.servlet',名称:'servlet-api' ...“工作 哪个 Gradle 版本?如果我没记错的话,最近的 Gradle 版本会自动执行此操作。【参考方案2】:

正如彼得·尼德维泽所说:

对于更复杂的 Maven 构建,可能需要手动添加 Gradle 端无法转换的功能 自动地。

虽然你必须自己手动编写一些部分。对于复杂的 Maven 构建,有一个在线服务可能是一个有用的工具。 maven2gradle 是 github 上的一个项目,它可以自动将在线依赖项元素从 maven 转换为 gradle 脚本。 使用它,

    联系maven2gradle 。网址 打开并选择包含您的 maven 文件。 将您的 maven 依赖项粘贴到该网页中的文本框(使用 或没有依赖项根元素)。 点击转换按钮。

更多信息http://sagioto.github.io/maven2gradle/

【讨论】:

如何将 maven pom 标签 <snapshot> 转换为 gradle

】如何将mavenpom标签<snapshot>转换为gradle【英文标题】:Howtotransformmavenpomtag<snapshot>intogradle【发布时间】:2018-05-1623:14:30【问题描述】:我想使用来自github的sql解析库:该页面说,在pom.xml中需要以下Maven标签才能导入它。... 查看详情

Gradle如何将大量jar文件的平面目录转换为.m2/repository结构?

】Gradle如何将大量jar文件的平面目录转换为.m2/repository结构?【英文标题】:Gradlehowtoturnaflatdirectoryofmassiveamountofjarfilestothe.m2/repositorystructure?【发布时间】:2022-01-1003:55:28【问题描述】:我想知道如何在我的计算机中快速获取一... 查看详情

将 Maven 依赖项转换为 Gradle

】将Maven依赖项转换为Gradle【英文标题】:ConvertingMavendependencytoGradle【发布时间】:2019-05-2811:36:56【问题描述】:我目前正在学习here的教程,并且看到了一个我无法转换为Gradle的POM插件,您可以在下面找到该插件。尝试遵循一些... 查看详情

将 maven 代码生成转换为 gradle 任务

】将maven代码生成转换为gradle任务【英文标题】:Convertingmavencodegenerationtogradletask【发布时间】:2020-04-3016:17:38【问题描述】:我希望将axis2插件代码生成转换为gradle。任何帮助表示赞赏。我们正在使用apache轴2客户端。但是我们... 查看详情

gradle学习总结——如何将springboot构建工具从maven迁移到gradle

前言我们在2.3.0.M1中对SpringBoot进行了相当大的改变。这是使用Gradle而不是Maven构建的项目的第一个版本。关于迁移的Twitter上的帖子有很多人问我们为什么切换以及我们看到的好处(如果有的话)。这篇博文旨在回答这些... 查看详情

如何将 gradle 中的 groovy 任务转换为 Gradle Kotlin DSL 以生成 pom.xml?

】如何将gradle中的groovy任务转换为GradleKotlinDSL以生成pom.xml?【英文标题】:HowcanIconvertagroovytaskingradleintoGradleKotlinDSLtogenerateapom.xml?【发布时间】:2018-07-0821:48:32【问题描述】:以下Gradle脚本的build.gradle.kts版本是什么?applyplugin:\'... 查看详情

将gradle项目公布到maven仓库

...Maven,是一个软件(特别是Java软件)项目管理及自己主动构建工具,由Apache软件基金会所提供。?在公布maven之前,android普遍使用ant的方式进行项目的构建和管理。它们均使用XML文件来配置描写叙述项目的,相比較于antmave 查看详情

如何将 AAR 转换为 JAR

】如何将AAR转换为JAR【英文标题】:HowtoconvertAARtoJAR【发布时间】:2014-02-2010:47:25【问题描述】:情况:我打算使用Java库,我只有一个来自Maven存储库的AAR文件,但我需要JAR文件。背景故事:我试图编译一个库,但它的Gradle结构... 查看详情

如何将本地 Maven m2 作为属性传递给 Gradle?

】如何将本地Mavenm2作为属性传递给Gradle?【英文标题】:HowcanyoupassinalocalMavenm2toGradleasaproperty?【发布时间】:2020-11-0506:52:11【问题描述】:我目前正在尝试通过JenkinsFreestyle项目构建我的Android应用程序。我能够在AndroidStudio中成... 查看详情

带有子项目的 Android Gradle 构建

】带有子项目的AndroidGradle构建【英文标题】:AndroidGradlebuildwithsubprojects【发布时间】:2013-06-0300:13:40【问题描述】:我目前正在将我们的一个项目从maven转换为Gradle。文件夹结构如下:gitRootsettings.gradlebuild.gradleProjectAbuild.gradlesrc... 查看详情

使用 maven 的 pom.xml 来构建 gradle 依赖项?

】使用maven的pom.xml来构建gradle依赖项?【英文标题】:usemaven\'spom.xmlforgradlebuilddependencies?【发布时间】:2018-01-0208:51:58【问题描述】:我的问题很简单。我有一个mavenjava项目,我想用gradle构建它。目前我有一个pom.xml文件,我在... 查看详情

如何使用 Maven 依赖项将 Play Framework 2.0 集成到 Gradle 构建管理中?

】如何使用Maven依赖项将PlayFramework2.0集成到Gradle构建管理中?【英文标题】:HowtointegratePlayFramework2.0intoGradlebuildmanagementusingMavendependencies?【发布时间】:2012-05-0504:51:04【问题描述】:Playframework2.0是一个用于创建Web应用程序的全... 查看详情

Maven:如何使用 build.gradle 文件?

】Maven:如何使用build.gradle文件?【英文标题】:Maven:Howtouseabuild.gradlefile?【发布时间】:2019-03-2723:43:41【问题描述】:我是Maven和Gradle的完整初学者。我有一个工作的Maven项目。现在我想从另一个使用Gradle构建的项目中添加一堆... 查看详情

如何在 Gradle 中为 Spring 使用 Maven BOM?

】如何在Gradle中为Spring使用MavenBOM?【英文标题】:HowtouseamavenBOMforSpringinGradle?【发布时间】:2019-05-0606:57:27【问题描述】:我正在将POM转换为Gradle,而我遇到的一件事是在Gradle中进行依赖管理,如下所示:<dependencyManagement>&... 查看详情

将 Gradle 模块包含到 Maven 项目中

...:2017-03-1404:07:38【问题描述】:我们有一个使用Maven作为构建系统的大型项目。我们决定在未来的项目中使用Gradle作为更方便的工具,但我们也希望将Gradle用于我们的遗留项目。我认为一次从Maven迁移到Gradle会非常痛苦,因为我... 查看详情

如何在android gradle构建文件中为从maven Central提取的库指定injars

】如何在androidgradle构建文件中为从mavenCentral提取的库指定injars【英文标题】:howtospecifyinjarsforproguardwithinandroidgradlebuildfilesforlibrariesthatarepulledfrommavencentral【发布时间】:2013-08-2922:30:16【问题描述】:有没有办法将从mavenCentral中... 查看详情

maven 多模块项目如何包含 gradle 子项目?

】maven多模块项目如何包含gradle子项目?【英文标题】:Howcanamavenmulti-moduleprojectincludegradlesub-projects?【发布时间】:2018-07-1121:47:58【问题描述】:我们有一个Maven多模块项目,我们希望逐步迁移到一个gradle项目。对于初学者,我... 查看详情

构建被配置为更喜欢设置存储库而不是项目存储库,但存储库“maven”是由构建文件“build.gradle”添加的

】构建被配置为更喜欢设置存储库而不是项目存储库,但存储库“maven”是由构建文件“build.gradle”添加的【英文标题】:Buildwasconfiguredtoprefersettingsrepositoriesoverprojectrepositoriesbutrepository\'maven\'wasaddedbybuildfile\'build.gradle\'【发布时... 查看详情