我在项目中创建了一个用于包装jar的新模块,build.gradle
文件如下所示
apply from: "../common/spark/standard.gradle"
jar {
manifest {
attributes "Main-Class": "com.company.module.MyClass.main.Main"
}
}
在standard.gradle
中,我正在运行一个shadowJob
任务,看起来像这样
shadowJar {
exclude "META-INF/*"
exclude "AUTHORS"
exclude "*LICENSE*"
exclude "NOTICE"
dependencies {
exclude(dependency('org.slf4j:slf4j-log4j12:.*'))
exclude(dependency('org.slf4j:.*:.*'))
}
append 'reference.conf'
zip64 true
}
我遇到的问题是,我的模块中需要org.slf4j:slf4j-log4j12:.*
,但是standard.gradle
却将其排除在外。我的局限性在于我无法修改standard.gradle
,因为它在共享库中。我尝试将compile "org.slf4j:slf4j-log4j12:.*"
添加到我的dependencies
中的build.gradle
块中,但是gradle抱怨找不到它。我也曾尝试将apply
语句移到dependencies
块之后,但仍然找不到org.slf4j:slf4j-log4j12:.*
有没有办法使用gradle做到这一点?