Flutter开发App的未来及其在各行业的应用潜力分析
937
2023-03-22
IDEA 卡住buid(编译)不动的解决办法
【号外号外!】
最终解决办法并不复杂,关键在于“遇见问题,怎么样层层分析,多条路径试错,最终解决问题的思路或者能力”——资深码农的核心竞争力之一
背景
今天结束完最近2个月的一个项目,开心鸭,IDEA切换代码到其它历史项目继续推进。咦,什么情况,原来编译好好的,这次怎么半天编译不动,超过5分钟——原本只要10多秒或者20多秒的,什么情况
多路径尝试,层层递进,终至解决
路径A
原因分析——是不是其他软件开的多,电脑CPU和内存空闲比较少,所以build 比较慢,历史上偶尔遇见过
尝试办法——关闭耗费资源的软件,耐心等待
具体操作:
关闭office、vscode、vmware、Chrome浏览器只保留5个Tab页
开开心心的看公司的架构文档10分钟,回过头来看看,咦,什么情况,还在编译
结论:
Failed ——赶紧切换其他路径
路径B
原因分析——可能最近哪里配置有更新,或者哪里出错了
尝试办法——重启(印象中,很多奇怪问题,通过重启软件或者电脑都能解决)
具体操作:
重启IDEA,等待5分钟,我去,海思编译不动
结论:
范特西——继续切换其他路径
路径C——关键
原因分析——看来自个儿不行,求助百度或者谷歌了
尝试办法——百度搜索
具体操作:
提取搜索关键词——“IDEA 半天编译不动”,百度之(关键字提取十分重要,直接影响搜索结果质量)
搜索到一篇相关博客 :https://jb51-/article/197847.htm
文中提到了暂时解决办法,及如下一些尝试办法(部分尝试过,其它耗时耗http://力,不予采纳):
扩展idea内存,无效。
重启电脑,无效,似乎也不是网络的问题。
切换本地仓库,无效。
清除缓存和索引,无效。
删除项目,重新引入,无效。
删除项目,重新-,再导入idea,无效。
新建一个类,加上启动类的注解,在run方法前加一个sysout,无效。
关闭idea,项目导入eclipse,启动。重新打开idea,再看看是否能启动,无效。
卸载,重装.。
卸载重装当前版本2019.3,无效重装2018.3.6,无效。
编辑Configuration,去掉build,改成mvn compile,暂时可以
继续看评论区:
网络禁用,这个不错,果断拔掉网线。编译顺畅了一点,不过报错,如下(关键信息:-依赖包出错):
结论:
知道问题大致所在了——应该是最近升级gandle从5.1到6.5,导致“相关依赖包-超级缓慢导致”(去国外-jar依赖包、github 源代码最近都很慢),联想到最近项目需要去pypi官网-python 离线包——几KB/s或者10多KB/s的龟速
路径D——最终方案
原因分析——“相关依赖包-超级缓慢导致”
尝试办法——配置阿里云国内镜像或者公司服务器镜像
具体操作:
%GRADLE_USER_HOME%\.gradle目录下,新增下init.gradle文件,填入如下内容(逻辑:根据依赖包的起始地址,切换不同的-路径):
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.ahttp://liyun.com/repository/public/'
def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/jcenter/'
def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google/'
def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replahttp://ced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
if (url.startsWith('https://dl.google.com/dl/android/maven2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL."
remove repo
}
if (url.startsWith('https://plugins.gradle.org/m2/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
maven { url ALIYUN_JCENTER_URL }
maven { url ALIYUN_GOOGLE_URL }
maven { url ALIYUN_GRADLE_PLUGIN_URL }
}
}
结论:
10多秒编译成功,好开心鸭,如下图:
注:
(1)全局配置阿里云镜像:https://jb51-/article/195036.htm
(2)阿里云镜像仓库官网及说明——需要及时同步官网更新变动:https://maven.aliyun.com/mvn/guide
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~