我需要一个依赖项,它的pom版本号不一致。
Apache XmlSchema-Pom 的版本SNAPSHOT
显然不正确,因为它应该1.1
。
根据这个 gradle 讨论,如果 maven 存储库指定为常春藤存储库,将@jar
或transitive = false
添加到依赖项中,应该有可能,所有这些都对我不起作用
这是我对我的尝试build.gradle
:
group 'de.company'
version '1.0-SNAPSHOT'
apply plugin: 'maven'
apply plugin: 'java'
repositories {
// specified as ivy repo
// ivy {
// url = mavenCentral().url
// }
mavenCentral()
}
dependencies {
// with @jar and transitive
// compile (group: 'org.apache.ws.commons', name: 'XmlSchema', version: '1.1', ext: 'jar') {
// transitive = false
// }
compile group: 'org.apache.ws.commons', name: 'XmlSchema', version: '1.1'
}
这是gradle输出的错误消息:
Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not resolve org.apache.ws.commons:XmlSchema:1.1.
Required by:
de.company:gradle-test:1.0-SNAPSHOT
> Could not resolve org.apache.ws.commons:XmlSchema:1.1.
> inconsistent module metadata found. Descriptor: org.apache.ws.commons:XmlSchema:SNAPSHOT Errors: bad version: expected='1.1' found='SNAPSHOT'
我解决这个问题的方式是不同的,我不想碰artifactory pom,因为我无法访问artifactory。 这是您在 gradle.build 中需要的代码
repositories {
maven {
url 'http://xxxxx/xx'
metadataSources {
artifact() //Look directly for artifact
}
}
}
至于当前日期,没有实际的方法可以忽略 gradle 对 poms 的验证。
仍然有一些方法可以解决这个问题。
- 尝试使用该依赖项的其他版本,其中 pom 有效
-
检查其他存储库,也许它们对您想要的辔蜿有一个有效的 pom。
这将是我
XmlSchema
jCenter 存储库的示例(来自 jCenter 的XmlSchema
) -
自行下载源代码并将其部署到本地/公司存储库中并改用此版本