MavenLocal无法使用Gradle找到回购

时间:2016-08-18 10:00:52

标签: android maven gradle

我在Java项目上执行mvn clean install,我希望将其用作Android项目的一部分。

如果我使用maven,我会这样做:

<dependency>
    <groupId>com.abc.project</groupId>
    <artifactId>my-work-sdk</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

但是因为我正在使用gradle,所以我尝试了:

compile group: 'com.abc.project', name: 'my-work-sdk', version: '2.0.0-SNAPSHOT'

但我明白了:

Error: Failed to resolve: com.abc.project:my-work-sdk:2.0.0-SNAPSHOT

我已将mavenLocal()作为存储库添加到根级build.gradle文件中:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

2 个答案:

答案 0 :(得分:1)

您必须将Maven local显式设置为Gradle存储库

repositories {
    mavenLocal()
}

如果在buildscript中使用它:

buildscript {
    repositories {
        mavenLocal()
    }
}

答案 1 :(得分:0)

我认为您需要从评论中采取以下步骤:

  1. mvn install您的my-work-sdk项目。
  2. 在gradle build.gradle项目中,添加mavenLocal存储库:

    repositories {
        mavenLocal()
    }
    
  3. 如果这是一个多项目构建,并且您希望所有子项目以及根项目都可以访问mavenLocal()存储库,那么它应该像allProjects那样:

    allProjects {
        repositories {
            mavenLocal()
        }
    }
    

    或者,如果您只想从子项目访问mavenLocal个回购,则可以将allProjects替换为subprojects。 这应该是你需要做的全部。