Gradle 上载项目jar和;外部jar到本地maven存储库
我的android项目结构(MyApp是android Studio项目的一个模块): 我首先有一个外部jar,我想把它上传到我的本地maven repo,我的gradle构建如下所示: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
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
}