1

我们正在使用 Selenium 的补丁版本,我们希望使用我们的补丁 jar 作为文件依赖项,同时从 Maven 存储库获取 Selenium 的所有依赖项,而无需手动指定它们。这可能吗?

今天,我们使用 fileTree 依赖项将修补后的 selenium jar 及其依赖项作为依赖项添加到我们的项目中,但这并不理想,因为它很丑陋,而且有时似乎会打乱 Gradle 的冲突解决方案。

4

1 回答 1

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"
}

这个和类似解决方案的一个潜在问题是文件依赖项(这是您最终得到的 on compile)不参与冲突解决。

于 2013-01-17T20:03:45.597 回答