Java 什么';在gradle中定义BOM而不涉及XML的最佳方法是什么?

Java 什么';在gradle中定义BOM而不涉及XML的最佳方法是什么?,java,groovy,gradle,Java,Groovy,Gradle,XML是人们迁移到Gradle的原因之一,我们的项目定义了几个pom打包项。我假设这些是BOM,因为它们只是用来拉入依赖项。所以如何从“最佳实践”/“无XML”的角度在Gradle中定义BOM?我知道您可以创建一个具有依赖项的配置,然后只包含它,但我不希望“gradle build”为这个子项目创建一个jar文件,因为它毫无意义,并且毫无理由地会减慢我的构建速度。我走的是正确的道路还是有更好的方法?如果是,是什么?我是不是要关闭jar创建功能?我想这就是我需要的。这是从第52章的Gradle用户

XML是人们迁移到Gradle的原因之一,我们的项目定义了几个pom打包项。我假设这些是BOM,因为它们只是用来拉入依赖项。所以如何从“最佳实践”/“无XML”的角度在Gradle中定义BOM?我知道您可以创建一个具有依赖项的配置,然后只包含它,但我不希望“gradle build”为这个子项目创建一个jar文件,因为它毫无意义,并且毫无理由地会减慢我的构建速度。我走的是正确的道路还是有更好的方法?如果是,是什么?我是不是要关闭jar创建功能?

我想这就是我需要的。这是从第52章的Gradle用户公会的右边来的。具体来说,是示例52.16。“依赖项的集合和数组”


困惑的我完全看不到BOM在这里扮演的角色。你能澄清一下你的意思吗?我们谈论的是什么类型的BOM?不知何故,我不认为你的意思。我编辑了问题的字节顺序标记。“bom是一种特殊的pom,用于控制项目依赖项的版本,并提供定义和更新这些版本的中心位置。”()本文讨论在Gradle中使用Maven bom。我想这张海报是在询问如何定义Gradle中的等价物,以便在Gradle中使用。@KenGeis Bingo!这是一个构建讨论,按照这种说法,BOM代表物料清单。“spring框架bom”是常用的示例
List groovy = ["org.codehaus.groovy:groovy-all:2.4.4@jar",
               "commons-cli:commons-cli:1.0@jar",
               "org.apache.ant:ant:1.9.4@jar"]
List hibernate = ['org.hibernate:hibernate:3.0.5@jar',
                  'somegroup:someorg:1.0@jar']
dependencies {
    runtime groovy, hibernate
}