解决gradle的本地工程依赖和通过maven依赖之间的冲突问题
2017-06-12 00:00
267 查看
Gradle子工程之间通过
其中printMappings任务是用来查看映射情况的。以上代码在 gradle-1.0-milestone-8a测试通过。
compile project(":XXX")这种方式依赖是非常便利的,但是这样的时候,如果用
uploadArchives上传jar到maven,生成的pom.xml是不正确的。本文将给出解决这一问题的一种方法。 解决办法就是添加一个新的配置,比如叫mvnpub,然后通过它来配置发布时pom里应当用到的依赖,在生成pom.xml时,用mvnpub替换默认的compile。代码如下:
//add configuration mvnpub to replace the default compile configuration when uploadArchives configurations { mvnpub } javadoc { options.encoding = "UTF-8" } task packageJavadoc(type: Jar, dependsOn: 'javadoc') { from javadoc.destinationDir classifier = 'javadoc' } task packageSources(type: Jar) { from sourceSets.main.allSource classifier = 'sources' } artifacts { archives packageJavadoc { type = 'javadoc' } archives packageSources { type = 'sources' } } uploadArchives { repositories { mavenDeployer { //replace the default compile to mvnpub to prevent the broken project dependency conf2ScopeMappings.mappings.remove(configurations.compile) conf2ScopeMappings.addMapping(300, configurations.mvnpub, "compile") repository(url: rootProject['upload.repository']) { authentication(userName: 'name', password: 'password') } snapshotRepository(url: rootProject['upload.snapshotRepository']) { authentication(userName: 'name', password: 'password') } pom.groupId = "me.sulong" pom.artifactId = "gradle-sample" pom.version = "1.0" } } } task printMappings << { conf2ScopeMappings.mappings.each { k, v -> println "configuration: ${k}" println "mapping: \n\tpriority: ${v.priority}\n\tscope: ${v.scope}" println "========================================" } }
其中printMappings任务是用来查看映射情况的。以上代码在 gradle-1.0-milestone-8a测试通过。
相关文章推荐
- 解决gradle的本地工程依赖和通过maven依赖之间的冲突问题
- maven项目由于多个依赖中含有同一个jar包导致的冲突问题的解决办法
- 怎么spring security 和maven,spring,结合jar包冲突和依赖关系问题解决办法。
- maven 依赖本地jar 打包的问题以及解决方式
- Intellij idea 解决 maven工程的部分依赖问题
- maven解决重复依赖版本冲突问题
- 查lib下的jar来自哪个maven依赖(通过用于解决jar版本冲突)
- 如何解决Maven依赖本地仓库eclipse报错的问题
- Activiti系列:如何把Activiti工程转换为maven工程以解决依赖项找不到的问题
- maven常见问题处理(3-3)Gradle编译时下载依赖失败解决方法
- maven 工具的依赖树以及解决版本包冲突问题
- 正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
- 解决Maven中依赖冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与spark的jar包冲突问题
- 如何解决Maven依赖本地仓库eclipse报错的问题
- 解决Maven中依赖冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题
- gradle 解决依赖冲突问题
- 通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题
- Android Studio(Gradle)解决库依赖冲突问题