我正在将一个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文件中包含以下文件这一事实之外,这几乎可以正常工作:
当Maven运行时,它只有httpclient-4.5.3。jar
。
只是为了澄清,我并没有真正打包httpclient
,我正在打包私有工件,但行为是相同的。
如何只获取直接依赖而不获取瞬态依赖?
添加以下内容(例如在依赖项
块之后):
configurations.ciPlugin.transitive = false
这将关闭ciPlugin
配置中所有工件的传递依赖项。