我的当前build.gradle文件如下所示。
repositories {
flatDir {
dirs 'lib'
}
maven {
mavenCentral()
}
dependencies {
compile "commons-logging:commons-logging:1.0.4",
"org.apache.httpcomponents:httpclient:4.4",
"org.apache.httpcomponents:httpcore:4.4",
"com.fasterxml.jackson.core:jackson-annotations:2.5.1",
"joda-time:joda-time:2.7",
compile files('../lib/abc.jar')
}
jar {
manifest{
attributes ("Version" : project.version, "${parent.manifestSectionName}")
attributes ("Name" : project.name, "${parent.manifestSectionName}")
}
from {
configurations.runtime.filter( {! (it.name =~ /abc.*\.jar/ )}).collect {
it.isDirectory() ? it : zipTree(it)
}
}
}
从上面的例子可以看出,我已经在运行时删除了abc.jar,但同样地,我想删除更多的jar包。简而言之,我想在fat jar中包含一些jar包,并排除一些jar包。那么我该如何实现呢?
gradle clean jar
,然后提取已构建的jar文件时,发现没有joda包,这很奇怪。 - Opalbuild
只是一个聚合任务。在这种情况下,joda 也缺失了。 - Opalconfigurations.runtime - configurations.lol
。 - Opal