所以我在gradle中使用以下命令包含了一个本地jar作为依赖项 - "编译文件(" $ {PathToJar} /name.jar")
现在我想从上面的jar中排除一些模块,就像我们对正常的依赖项排除一样
compile('com.a.b:' + version) {
exclude group: 'com.google.inject', module: 'guice_servlet'
exclude group: 'com.google.inject', module: 'guice'
exclude group: 'io.dropwizard'
exclude group: 'org.slf4j'
exclude group: 'log4j'
}
我google了很多但找不到合适的命令。
答案 0 :(得分:2)
Gradle中无法直接实现您想要实现的目标。
ModuleDependency.exclude(Map)用于排除传递依赖关系。这意味着如果依赖关系依赖于另一个依赖关系(JAR),Gradle会有效地创建依赖关系树。通过使用exclude()
方法,您可以从树中删除依赖项。
但是,如果您有UberJar,则依赖项(类)将捆绑在JAR本身中。所以你不能使用exclude()
来排除JAR本身的类,它只能用于从树中排除JAR。