Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven build.gradle中的父pom用法_Maven_Gradle_Pom.xml_Parent Pom_Maven Bom - Fatal编程技术网

Maven build.gradle中的父pom用法

Maven build.gradle中的父pom用法,maven,gradle,pom.xml,parent-pom,maven-bom,Maven,Gradle,Pom.xml,Parent Pom,Maven Bom,我需要将maven项目转换为gradle项目。一切进展顺利,但我面临一个问题,在当前的项目中,我们使用依赖管理抛出maven的父pom,在gradle中,只要我研究过,就不可能这样做。我在考虑以某种方式将父pom转换为maven bom并在build.gradle中使用,因为我知道gradle可以使用maven bom 有没有人有更好的办法来解决这个问题? 或者可能有人也有这种问题,你能建议最好的方法吗 关于您可以使用我的插件将pom.xml转换为gradle脚本 您可以使用查找所有项目中通用的

我需要将maven项目转换为gradle项目。一切进展顺利,但我面临一个问题,在当前的项目中,我们使用依赖管理抛出maven的父pom,在gradle中,只要我研究过,就不可能这样做。我在考虑以某种方式将父pom转换为maven bom并在build.gradle中使用,因为我知道gradle可以使用maven bom

有没有人有更好的办法来解决这个问题? 或者可能有人也有这种问题,你能建议最好的方法吗

关于

您可以使用我的插件将pom.xml转换为gradle脚本

您可以使用查找所有项目中通用的版本,并生成包含通用版本的根build.gradle

然后,每个项目脚本都可以引用根项目中的版本变量,而不是硬编码

您可以选择使用插件来管理通用版本。maven transform插件也可以生成支持这种声明风格的脚本


在评估gradle构建时,您可以在gradle构建中“应用”生成的gradle脚本。在此期间,maven和gradle构建将并行工作。一旦你对gradle构建感到满意,你就可以将生成的脚本复制粘贴到build.gradle文件中,永远抛弃maven!耶

这听起来不错,我会仔细检查一下,但总的来说,问题是我们公司的依赖关系管理在历史上是通过父pom.xml文件完成的,现在这是唯一阻碍我迁移到gradle的因素(我非常喜欢)。因此,应该有一种方法仍然保留父pom.xml文件(至少在一段时间内),并使用该文件的版本。您的项目是否作为结果来完成?请参阅nebula dependency recommender中的文档。我想你可以用你的父母pom作为BOM。假设每个版本都在父pom中,那么您可以使用maven transform插件和自定义freemarker模板从您的项目pom中生成gradle脚本,该脚本省略了依赖项声明中的版本号(因为它们将由依赖项推荐程序注入),解决了我的问题,非常感谢,将答案标记为正确我可能会在
maven transform
插件中添加
isManagedDependency(String-groupId,String-artifactId)
的概念,以便转换可以以不同的方式声明“托管”依赖关系。这可以在当前手动完成。。。所有信息都在模型中。。。但我可能会让它更容易开箱