Gradle 上载项目jar和;外部jar到本地maven存储库

Gradle 上载项目jar和;外部jar到本地maven存储库,gradle,android-studio,android-gradle-plugin,build.gradle,gradlew,Gradle,Android Studio,Android Gradle Plugin,Build.gradle,Gradlew,我的android项目结构(MyApp是android Studio项目的一个模块): 我首先有一个外部jar,我想把它上传到我的本地maven repo,我的gradle构建如下所示: configurations { externalJar } artifacts { externalJar file: file('external/mylib.jar') artifact = 'exernalLib' version = '1.1.0' } uploa

我的android项目结构(MyApp是android Studio项目的一个模块):

我首先有一个外部jar,我想把它上传到我的本地maven repo,我的gradle构建如下所示:

configurations {
    externalJar
}

artifacts {

    externalJar file: file('external/mylib.jar')
    artifact = 'exernalLib'
    version = '1.1.0'
}

uploadExternalJar {
    repositories {
        mavenDeployer {
            repository(url: "file://${System.properties['user.home']}/.m2/repository")
        }
    }
}
它起作用了

然后,我还想将我的项目jar工件上传到本地maven repo。我添加了以下代码:

group = 'com.my.app'
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://${System.properties['user.home']}/.m2/repository")
            pom.project {
                version  '1.2.1'
                artifactId  'MyApp'
                packaging 'jar'
            }

        }
    }
} 
当我运行
/gradlew build
时,两个任务都会执行,但当我在本地maven中检查MyApp-1.2.1.jar时,它的内容会被外部lib-jar覆盖


我不确定我做错了什么。但是我怎么能同时将外部jar和我的项目jar上传到本地maven呢?

我一点也不确定,但我可以尝试了解一下刚刚发生的事情。 任务
uploadArchives{…}
根据gradle规范是类型:
(类型:Upload)

让我们来看看上传规范,我们在这里得到了什么:

特性:

  • 人工制品
  • 配置
  • 存储库
  • 上载描述符
我猜你有:

configurations {
    externalJar
}
上面的uploadArchives作为全局配置,因此uploadArchives将您的externalJar作为MyApp-1.2.1.jar的配置

可能尝试在
uploadArchives{}
中添加空的
confirguration{}

configurations {
    externalJar
}