1.查看版本号

$ gradle -v
  1. 编译打包
    检查依赖并编译打包
gradle build

编译跳过测试

 gradle build -x test

编译打包tgz包,跳过测试类


gradle releaseTarGz -x signArchives -x test

这里注意的是 gradle build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 assemble, 如

gradle assembleDebug 编译并打Debug包gradle assembleRelease 编译并打Release的包

3.清理

gradle clean 清除9GAG/app目录下的build文件夹

4.Gradle dependencies 解决项目依赖冲突

当我们的项目依赖存在冲突时,如何排查jar冲突呢?
在控制台输入:gradle dependencies --configuration default 查看当前项目jar依赖树;
查看子模块dependencies 依赖树:gradle dependencies mymodel:dependencies --configuration default;将mymodel 替换成自己的项目名称,查看子模块依赖结果树,进行冲突排查;查看到冲突之后我们如何处理呢?

dependencies {implementation(group: 'com.alibaba', name: 'dubbo', version: '2.6.5') {//当项目有多个dubbo包依赖时,我们可以在父项目强制统一版本号为2.6.5:force = true//排除包所有的spring-core 模块exclude module: 'spring-core'//排除指定的单个模块,排除springframework中的spring-beansexclude group: 'org.springframework',module:'spring-beans'//排除springframework整个包exclude group: 'org.springframework'//禁止传递依赖,dubbo依赖的其他包都不能传递依赖transitive = false}testCompile group: 'junit', name: 'junit', version: '4.12'
}
gradle dependencies

当你运行 dependencies 任务时,这个依赖树会打印出来,依赖树显示了你 build 脚本声明的顶级依赖和它们的传递依赖:

粘一段我运行时的依赖树:

 +--- com.alibaba:fastjson:1.1.43 -> 1.2.7
|    +--- io.netty:netty:3.9.2.Final
|    +--- com.dianping.cat:cat-client:1.5.4 (*)
|    +--- org.unidal.framework:foundation-service:2.7.0 (*)
|    +--- org.codehaus.plexus:plexus-container-default:1.6 (*)
|    +--- org.codehaus.plexus:plexus-classworlds:2.5.1
|    +--- org.apache.xbean:xbean-reflect:3.7
|    +--- org.codehaus.plexus:plexus-utils:3.0.20
|    +--- junit:junit:4.11 (*)
|    +--- org.hamcrest:hamcrest-core:1.3
|    +--- io.netty:netty-all:4.0.24.Final
|    +--- com.dianping.lion:lion-client:0.6.7 (*)
|    +--- org.apache.curator:curator-recipes:2.7.1 (*)
|    +--- org.freemarker:freemarker:2.3.22
|    +--- com.facebook.swift:swift-annotations:0.16.0-mt-20151221.124547-1
|    +--- com.facebook.swift:swift-codec:0.16.0-mt-20151218.091258-4 (*)
|    +--- com.thoughtworks.paranamer:paranamer:2.5.2
|    +--- com.google.code.findbugs:annotations:2.0.3
|    +--- com.facebook.swift:swift-generator:0.16.0-mt-20151222.050944-1 (*)
|    +--- com.facebook.swift:swift-idl-parser:0.16.0-mt-20151222.051729-1 (*)
|    +--- org.antlr:antlr-runtime:3.5 (*)
|    +--- org.antlr:stringtemplate:4.0.2 (*)
|    +--- org.apache.thrift:libthrift:0.8.0 (*)
|    +--- org.apache.httpcomponents:httpclient:4.1.2 -> 4.3.6 (*)
|    +--- org.apache.httpcomponents:httpcore:4.1.3 -> 4.3.3
|    \--- org.xerial.snappy:snappy-java:1.1.1.6
+--- com.dianping.lion:lion-client:0.5.4 -> 0.6.7 (*)
+--- com.dianping.cat:cat-client:1.4.4 -> 1.5.4 (*)
+--- com.dianping:avatar-tracker:2.2.5
+--- com.dianping.mp:mpi-provider-remote:1.0.0
+--- com.meituan.log:scribe-log4j2:1.2.6
|    +--- org.apache.logging.log4j:log4j-api:2.3 -> 2.5
|    +--- org.apache.logging.log4j:log4j-core:2.3 -> 2.5 (*)
|    +--- org.apache.thrift:libthrift:0.8.0 (*)
|    +--- org.apache.thrift:libfb303:0.8.0 (*)
|    +--- com.meituan.inf:xmd-common-log4j2:1.1.1-SNAPSHOT
|    |    +--- org.slf4j:slf4j-api:1.7.2 -> 1.7.13
|    |    +--- org.apache.logging.log4j:log4j-slf4j-impl:2.3 -> 2.5 (*)
|    |    +--- org.apache.logging.log4j:log4j-api:2.3 -> 2.5
|    |    +--- org.apache.logging.log4j:log4j-core:2.3 -> 2.5 (*)
|    |    +--- org.apache.logging.log4j:log4j-1.2-api:2.3 (*)
|    |    \--- com.meituan.mtrace:mtrace:1.1.1 (*)
|    +--- com.fasterxml.jackson.core:jackson-core:2.8.0
|    +--- com.fasterxml.jackson.core:jackson-databind:2.8.0 (*)
|    \--- com.fasterxml.jackson.core:jackson-annotations:2.8.0
+--- com.sankuai.meituan.zcm.pos.officialacounts:zcm-pos-officialacounts:1.0.3-SNAPSHOT
|    +--- com.meituan.service.mobile:mtthrift:1.6.4 (*)
|    \--- javax.validation:validation-api:1.0.0.GA
+--- com.sankuai.meituan.zcm.pos.marketing:zcm-pos-marketing-client:1.0.4-SNAPSHOT
|    +--- com.meituan.service.mobile:mtthrift:1.6.4 (*)
|    \--- javax.validation:validation-api:1.0.0.GA
+--- junit:junit:4.11 (*)
+--- org.springframework.javaconfig:spring-javaconfig:1.0.0.m3
|    +--- org.springframework:spring-core:2.5 -> 4.2.3.RELEASE (*)
|    +--- org.springframework:spring-beans:2.5 -> 4.2.3.RELEASE (*)
|    +--- org.springframework:spring-context:2.5 -> 4.2.3.RELEASE (*)

仔细观察你会发现有些传递依赖标注了*号,表示这个依赖被忽略了,这是因为其他顶级依赖中也依赖了这个传递的依赖,Gradle 会自动分析下载最合适的依赖。

如果你也热衷技术欢迎加群一起进步:230274309 。 一起分享,一起进步!少划水,多晒干货!!欢迎大家!!!(进群潜水者勿加)

点击链接加入群聊【编程之美】:https://jq.qq.com/?_wv=1027&k=h75BfFCg

+++++++++++++++++++++++
或者扫码
+++++++++++++++++++++++

Gradle dependencies 解决项目依赖冲突相关推荐

  1. 什么是Maven依赖冲突,如何解决Maven依赖冲突

    在解决冲突之前首先我们要知道什么是依赖冲突,这样可以更好的去锁定bug原因.下面通过一个代码示例来真正展示出依赖冲突. 目录 依赖冲突代码演示 1.添加依赖 2.观察依赖的层次结构 3.运行项目jra ...

  2. idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...

  3. Maven依赖原则及如何解决Maven依赖冲突

    前言 在大数据应用中,现在发现依赖关系非常复杂,在上线之前很长测试,前一段时间在部署udf 出现了导致生产Hiveserver2 宕机问题,出现严重事故.现在就咨询研究一下.Maven虽然已经诞生多年 ...

  4. 又出现依赖冲突?试试 IDEA 解决 Maven 依赖冲突的高能神器!

    以下文章来源方志朋的博客,回复"666"获面试宝典 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突.举个 ...

  5. 是时候装逼了,试试 IDEA 解决 Maven 依赖冲突的高能神器!

    点击关注公众号,Java干货及时送达 来源 | segmentfault.com/a/1190000017542396 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的 ...

  6. 解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:桔子214032 segmentfault.com/ ...

  7. 解决 Maven 依赖冲突的好帮手,必须了解一下!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:桔子214032 sf.com/a/119000001754 ...

  8. 解决Maven依赖冲突的好帮手,必须了解一下!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 桔子214032 来源 | http://su ...

  9. 解决项目版本冲突——maven-shade插件使用

    文章目录 背景 maven-shade-plugin介绍 解决问题 1.环境准备 2.解决方案 3.引入依赖 一些需要注意的坑 maven-shade-plugins的其他使用 背景 当我们在mave ...

  10. “装 X ”就是牛,试一试 IDEA 解决 Maven 依赖冲突的超级神器!

    >>号外:关注"Java精选"公众号,回复"2021面试题"关键词,领取全套500多份Java面试题文件. 1.何为依赖冲突 Maven是个很好用的 ...

最新文章

  1. 机器学习博士自曝:实验室「阉割」我的创造力,劝你别读
  2. python语言用途-python编程语言有什么用途
  3. 计算机网络是啥意思啊,no signal是什么意思啊
  4. php xml 格式化,PHP实现浏览器格式化显示XML的方法示例
  5. Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
  6. stm8s003程序跑飞_微信小程序只玩跳一跳?OUT啦!带你玩更好玩的微信小游戏!...
  7. PyQt v4 - Python Bindings for Qt v4 | Документация
  8. nodejs 30行代码 爬豆瓣电影数据
  9. ASP.NET Core on K8s学习之旅(14)Ingress灰度发布
  10. Nacos部署中的一些常见问题汇总
  11. Java HashMap与Hashtable数据结构和特点+HashSet简述
  12. PCL_三维点云拼接融合/点云粗配准/点云精配准
  13. 常用国家标准、行业标准、地方标准免费查阅网址,太实用了!
  14. F4V/M3U8/比特率/LocalDNS/HttpDNS/traceroute
  15. 音视频采集-摄像头视频采集(原理与实现)
  16. 008 使用MyBatis,easyUI实现CRUD操作样例-CUD(CRUD完毕)
  17. 微软Project Server 2016正式版下载:支持项目组合管理-搜狐
  18. Tomcat构建企业级高负载WEB服务器之部署jspgou商城
  19. IDM2022最新版极速下载工具
  20. error怎么开机 fan_笔记本开机显示fan error怎么解决?

热门文章

  1. Cracking the Wall of Confinement: Understanding and Analyzing Malicious Domain Take-downs
  2. [激光原理与应用-59]:激光器 - 光学 - 脉冲激光器的参数解析(能量、脉冲、周期、功率)
  3. Java面向对象4——package和import语句
  4. 用python计算圆周率Π
  5. T32 获取电脑Product ID
  6. php redis超卖,PHP用redis解决超卖的问题
  7. ios百度地图开发之路径规划
  8. NIVIDIA 硬解码学习4
  9. 成绩造假!你看到400+大佬,有可能是P图!
  10. Mini CFA 考试练习题 Macroeconomics