我们正在使用Selenium的修补版本,我们希望使用我们的修补jar作为文件依赖,同时从Maven仓库获取Selenium的所有依赖项,而无需手动指定它们。这可能吗?
今天我们使用fileTree依赖项将修补后的selenium jar及其依赖项作为依赖项添加到我们的项目中,但这并不理想,因为它很丑陋,有时似乎搞乱了Gradle的冲突解决方案。
答案 0 :(得分:1)
一般情况下,我建议将修补的Jar发布到您的公司Maven或Ivy存储库(Artifactory,Nexus等),以及合适的依赖描述符。当然还有其他解决方案,如下所示:
apply plugin: "java"
repositories {
mavenCentral()
}
configurations {
rawCompile
}
dependencies {
rawCompile "junit:junit:4.11"
compile configurations.rawCompile.filter { it.name != "junit-4.11.jar" }, files("lib/junit-4.11-patched.jar")
}
task debug << {
println "original dependencies: $configurations.rawCompile.files \n"
println "changed dependencies: $configurations.compile.files"
}
此解决方案和类似解决方案的潜在问题是文件依赖关系(这是您在compile
上最终得到的)不参与冲突解决。