Java 忽略gradle构建中依赖的jar版本

Java 忽略gradle构建中依赖的jar版本,java,jar,filesystems,version,build.gradle,Java,Jar,Filesystems,Version,Build.gradle,在我的项目中,我对sonatype repsitory中的jar有一个编译依赖关系,而这个依赖关系又依赖于一个jar,而这个jar在我的文件系统中只是作为本地副本存在的 要访问这两个JAR,my build.gradle如下所示: 依赖项{ 编译文件树(目录:'./3rdparty/mrcp4j/lib',包括:['*.jar']) 编译组:“net.sourceforge.halef”,名称:“cairo客户端”,版本:“0.1-SNAPSHOT” } 现在,我从sonatype中提取的ca

在我的项目中,我对sonatype repsitory中的jar有一个编译依赖关系,而这个依赖关系又依赖于一个jar,而这个jar在我的文件系统中只是作为本地副本存在的

要访问这两个JAR,my build.gradle如下所示:

依赖项{
编译文件树(目录:'./3rdparty/mrcp4j/lib',包括:['*.jar'])
编译组:“net.sourceforge.halef”,名称:“cairo客户端”,版本:“0.1-SNAPSHOT”
}
现在,我从sonatype中提取的cairo客户机jar的pom包含对mrcp.jar版本0.2的引用,如下所示


org.mrcp4j
mrcp4j
0.2
编译
cairo-client.jar的供应商没有将mrcp4j.jar发布为第三方或类似版本,但似乎依赖于其本地maven存储库中的副本

生成失败,因为gradle无法将指定版本与我能够提供的版本匹配

找不到org.mrcp4j:mrcp4j:0.2。
在以下位置搜索:
https://repo1.maven.org/maven2/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom
https://repo1.maven.org/maven2/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar
https://jcenter.bintray.com/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom
https://jcenter.bintray.com/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar
https://oss.sonatype.org/content/repositories/snapshots/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.pom
https://oss.sonatype.org/content/repositories/snapshots/org/mrcp4j/mrcp4j/0.2/mrcp4j-0.2.jar
要求:
org.jvoicexml:org.jvoicexml.implementation.mrcpv2:0.7.8>net.sourceforge.halef:cairo客户端:0.1-SNAPSHOT
org.jvoicexml:org.jvoicexml.implementation.mrcpv2:0.7.8>net.sourceforge.halef:cairo sip:1.0-SNAPSHOT

是否可以为文件系统中的jar指定一个版本,或者忽略请求的版本号并替换请求的属性?

同时,我能够找到解决这种情况的方法。我在这里分享它,希望它对其他人有用。无论如何,我对这方面的改进很感兴趣

我的解决方法是在所有配置中忽略依赖jar,并在文件系统中保留对本地jar的引用

所以我所做的就是添加以下几行

configurations.all {
    exclude group: ' org.mrcp4j', module:'mrcp4j'
}
必须保留对文件系统的依赖关系才能提供jar