提问者:小点点

将Maven'maven-汇编插件'转换为Gradle


我正在将一个Java项目从Maven转换为Gradle。

其中一个pom. xml正在使用maven-汇编插件将依赖项打包到一个zip文件中。

我正在使用自定义配置来指定要打包的依赖项,如下所示:

group = 'com.company'
description = 'projectA'

configurations {
    ciPlugin
}

dependencies {
    ciPlugin group: 'org.apache.httpcomponents', name: 'httpclient', version:'4.3.1'
}

jar {
    into('plugins') {
        from configurations.ciPlugin
    }
}

除了我在生成的zip文件中包含以下文件这一事实之外,这几乎可以正常工作:

  1. 公共空间-编解码器-1.10.jar
  2. 公共资源-日志记录-1.2.jar
  3. http client-4.5.3.jar
  4. http core-4.4.6.jar

当Maven运行时,它只有httpclient-4.5.3。jar

只是为了澄清,我并没有真正打包httpclient,我正在打包私有工件,但行为是相同的。

如何只获取直接依赖而不获取瞬态依赖?


共1个答案

匿名用户

添加以下内容(例如在依赖项块之后):

configurations.ciPlugin.transitive = false

这将关闭ciPlugin配置中所有工件的传递依赖项。