maven - 具有排除项的依赖项列表的正确 Gradle 语法是什么?

标签 maven gradle syntax pom.xml

我既是 Gradle 新手,也是 Groovy 新手。

鉴于下面提供的示例是错误的(在排除行上失败),创建 Gradle 依赖项列表以及一个或多个排除项的正确语法是什么?错误是:

Caused by: org.gradle.api.internal.MissingMethodException: Could not find method org.jboss:jboss-common-core() for arguments...

背景:我正在转换的旧 Maven 项目有几个 BOM( Material list )。那是一个空的 POM 打包项目,它只有依赖项,因此您可以使用它来将它们作为一个组来依赖。我试图以适合 Gradle 的方式执行此操作,并认为依赖项列表或数组将是门票。 ...除了我似乎无法写一个。 :-/
List stuff = [ "javax.servlet:javax.servlet-api",
                            "log4j:log4j",
                            "javax.jms:jms",
                            "com.oracle:ojdbc7",
                            "javax.transaction:jta",
                            "jgroups:jgroups",
                            "org.jboss:jboss-common-core" { exclude "org.jboss.logging:jboss-logging-spi" },
                            "org.jboss.cache:jbosscache-core",
                            "xml-apis:xml-apis"]

最佳答案

我无法验证它,因为我不知道某些 Artifact 的存储库,但您能否尝试使用以下代码:

apply plugin: 'java'

repositories {
    mavenCentral()
    jcenter()
}

ext.stuff = [ 
    "javax.servlet:javax.servlet-api",
    "log4j:log4j",
    "javax.jms:jms",
    "com.oracle:ojdbc7",
    "javax.transaction:jta",
    "jgroups:jgroups",
    dependencies.create("org.jboss:jboss-common-core", 
        { exclude group: "org.jboss.logging", module:"jboss-logging-spi" }
    ),
    "org.jboss.cache:jbosscache-core",
    "xml-apis:xml-apis"
]

dependencies {
    compile stuff
}

task copyDeps(type: Copy) {
    from configurations.runtime
    into('deps')
}

下面的一段代码:
dependencies.create("org.jboss:jboss-common-core", 
    { exclude group: "org.jboss.logging", module:"jboss-logging-spi" }
),

可以替换为(groovy 语法魔术):
dependencies.create("org.jboss:jboss-common-core")  
    { exclude group: "org.jboss.logging", module:"jboss-logging-spi" }
,

关于maven - 具有排除项的依赖项列表的正确 Gradle 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653449/

相关文章:

Maven Ant 部署 - OutOfMemoryError : Java heap space

java - Jenkins 问题 : local class incompatible by comparing serialVersionUID

maven - 如何覆盖由 properties-maven-plugin 的 read-project-properties 目标设置的 maven 属性值?

tomcat - Jacoco 代码覆盖率在 Tomcat 上收集 0% : JDK 7 + Gradle 1. 5 + Jacoco 0.6.2 + Tomcat 7.0.29

android - 如何将Crosswalk项目添加到Android studio?

sql - "HAVING ... GROUP BY"和 "GROUP BY ... HAVING"之间的区别

.net - VB.NET 中只读集合属性的集合初始值设定项?

java - 我需要显式插入 spring-core 模块吗?

gradle - flutter构建找不到依赖关系,但是当我将链接复制到浏览器时,它位于同一位置

javascript - 将值设置为 Backbone.Model 中的折叠默认值