如何将 Maven 构建转换为 Gradle?
Posted
技术标签:
【中文标题】如何将 Maven 构建转换为 Gradle?【英文标题】:How to convert a Maven build to Gradle? 【发布时间】:2014-01-18 16:20:10 【问题描述】:我知道我应该使用我的build.gradle
和init.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 有 正如彼得·尼德维泽所说:
对于更复杂的 Maven 构建,可能需要手动添加 Gradle 端无法转换的功能 自动地。
虽然你必须自己手动编写一些部分。对于复杂的 Maven 构建,有一个在线服务可能是一个有用的工具。 maven2gradle 是 github 上的一个项目,它可以自动将在线依赖项元素从 maven 转换为 gradle 脚本。 使用它,
-
联系maven2gradle 。网址
打开并选择包含您的 maven 文件。
将您的 maven 依赖项粘贴到该网页中的文本框(使用
或没有依赖项根元素)。
点击转换按钮。
更多信息http://sagioto.github.io/maven2gradle/
【讨论】:
以上是关于如何将 Maven 构建转换为 Gradle?的主要内容,如果未能解决你的问题,请参考以下文章