【问题标题】:How to fix duplicate dependency in a gradle project?如何修复 gradle 项目中的重复依赖项?
【发布时间】:2016-02-25 07:25:39
【问题描述】:

我发现我的 web 项目总是给出错误消息。

描述资源路径位置类型 无效的类路径发布/导出依赖项 /Users/XXXX/.gradle/caches/modules-2/files-2.1/org.apache.axis/axis-jaxrpc/1.4/b393f1f0c0d95b68c86d0b1ab2e687bb71f3c075/axis-jaxrpc-1.4.jar。该项目包含另一个具有相同存档名称的依赖项。 serverapi/api 类路径依赖验证器消息

检查 Gradle Dependecies,有一些重复的 jars。

axis-jaxrpc-1.4.jar
axis-saaj-1.4.jar

所以我创建了另一个简单的项目来验证这个问题。 这是 gradle 构建文件:

apply plugin: 'java'
sourceCompatibility = 1.6
sourceSets.main.java.srcDir 'src'
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

repositories {  
    mavenCentral()
}

dependencies {
    compile 'axis:axis:1.4'
}

gradle 依赖:

axis-jaxrpc-1.4.jar
axis-saaj-1.4.jar
axis-wsdl4j1.5.1.jar
axis-1.4.jar
commons-discovery-2.0.jar
commons-logging-1.0.4.jar
axis-jaxrpc-1.4.jar
axis-saaj-1.4.jar

如何解决或报告此问题?

【问题讨论】:

  • 这些罐子不是重复的,它们有不同的名称和大小。
  • 不,我检查它们是否被定向到 gradle 缓存文件夹中的相同文件。

标签: java eclipse gradle build.gradle gradle-eclipse


【解决方案1】:

使用org.apache.axis:axis:1.4 代替axis:axis:1.4 可能会解决您的问题。

【讨论】:

    【解决方案2】:

    像这样在你的 gradle 文件中使用 multiDexEnabled。

    android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        multiDexEnabled true
    }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    productFlavors {
    }
    }
    
    dependencies {
    compile 'com.android.support:support-annotations:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 2016-07-20
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多