【号外号外!】

最终解决办法并不复杂,关键在于“遇见问题,怎么样层层分析,多条路径试错,最终解决问题的思路或者能力”——资深码农的核心竞争力之一

背景

今天结束完最近2个月的一个项目,开心鸭,IDEA切换代码到其它历史项目继续推进。咦,什么情况,原来编译好好的,这次怎么半天编译不动,超过5分钟——原本只要10多秒或者20多秒的,什么情况

多路径尝试,层层递进,终至解决

  • 路径A

原因分析——是不是其他软件开的多,电脑CPU和内存空闲比较少,所以build 比较慢,历史上偶尔遇见过

尝试办法——关闭耗费资源的软件,耐心等待

具体操作:

关闭office、vscode、vmware、Chrome浏览器只保留5个Tab页

开开心心的看公司的架构文档10分钟,回过头来看看,咦,什么情况,还在编译

结论:

Failed ——赶紧切换其他路径


  • 路径B

原因分析——可能最近哪里配置有更新,或者哪里出错了

尝试办法——重启(印象中,很多奇怪问题,通过重启软件或者电脑都能解决)

具体操作:

重启IDEA,等待5分钟,我去,海思编译不动

结论:

范特西——继续切换其他路径


  • 路径C——关键

原因分析——看来自个儿不行,求助百度或者谷歌了

尝试办法——百度搜索

具体操作:

提取搜索关键词——“IDEA 半天编译不动”,百度之(关键字提取十分重要,直接影响搜索结果质量

搜速到一篇相关博客 :https://blog.csdn.net/weixin_34850743/article/details/104291937

上面提到了暂时解决办法,及如下尝试办法(部分尝试过,其它耗时耗力,不予采纳):

  1. 扩展idea内存,无效。
  2. 重启电脑,无效,似乎也不是网络的问题。
  3. 切换本地仓库,无效。
  4. 清除缓存和索引,无效。
  5. 删除项目,重新引入,无效。
  6. 删除项目,重新下载,再导入idea,无效。
  7. 新建一个类,加上启动类的注解,在run方法前加一个sysout,无效。
  8. 关闭idea,项目导入eclipse,启动。重新打开idea,再看看是否能启动,无效。
  9. 卸载,重装.。
    1. 卸载重装当前版本2019.3,无效
    2. 重装2018.3.6,无效。
  10. 编辑Configuration,去掉build,改成mvn compile,暂时可以

继续看评论区:

网络禁用,这个不错,果断拔掉网线。编译顺畅了一点,不过报错,如下(关键信息:下载依赖包出错):

结论:

知道问题大致所在了——应该是“相关依赖包下载超级缓慢导致”(去国外下载jar依赖包、github 源代码最近都很慢),联想到最近项目下载python 离线包


  • 路径D——最终方案

原因分析——“相关依赖包下载超级缓慢导致”

尝试办法——配置阿里云国内镜像或者公司服务器镜像

具体操作:

%GRADLE_USER_HOME%\.gradle目录下,新增下init.gradle件,填入如下内容(逻辑:根据依赖包的起始地址,切换不同的下载路径):

allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.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} replaced 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 }
}
}

注:

(1)全局配置阿里云镜像https://blog.csdn.net/lj402159806/article/details/78422953

2)阿里云镜像仓库官网及说明——需要及时同步官网更新变动https://maven.aliyun.com/mvn/guide

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

*******************************************************************************************

精力有限,想法太多,专注做好一件事就行

  • 我只是一个程序猿。5年内把代码写好,技术博客字字推敲,坚持零拷贝和原创
  • 写博客的意义在于锻炼逻辑条理性,加深对知识的系统性理解,锻炼文笔,如果恰好又对别人有点帮助,那真是一件令人开心的事

*******************************************************************************************

IDEA 半天卡住buid(编译)不动的更多相关文章

  1. IDEA 半天卡住buid(编译)不动——解决办法(适用于maven及gradle)及定位思路

    [号外号外!] 最终解决办法并不复杂,关键在于"遇见问题,怎么样层层分析,多条路径试错,最终解决问题的思路或者能力"--资深码农的核心竞争力之一 背景 今天结束完最近2个月的一个项 ...

  2. 关于npm run build 卡住不动的坑。。。

    起因:最近开发个项目使用的vue,有些功能需要生产版本放服务器上测试,这就出问题了..卡住了,不动了,还不报错 这是在vscode的终端里面,试了git hash,试了cmd , 试了powershe ...

  3. 16061701(地图灯光编译Beast报错)

    [目标] 地图灯光编译报错 [思路] 1 我自己测c2_cwd_rt 附件为当时log 2 ExampleGame\BeastCache\PersistentCache 3 重新删除掉BeastCac ...

  4. [转]C#程序无法在64位系统上运行之.NET编译的目标平台

    今天将编译的C#的exe拷贝到测试机上(Win7_64bit),一运行就挂了,提示“stop working”,一开始怀疑测试机上没有安装.net framework框架,追究半天原来是编译的目标平台 ...

  5. ubuntu下进程kidle_inject致使编译软件很慢

    一.背景 某一天编译一个程序发现半天都没编译ok,于是使用top一看发现有个别进程占用cpu奇高,遂出此文 二.怎么解决? 2.1 什么进程占据很高cpu 名为kidle_inject,同时开启了好几 ...

  6. 【quickhybrid】Android端的项目实现

    前言 前文中就有提到,Hybrid模式的核心就是在原生,而本文就以此项目的Android部分为例介绍Android部分的实现. 提示,由于各种各样的原因,本项目中的Android容器确保核心交互以及部 ...

  7. vmware安装ubuntu卡在install vm-tools

    vmware,安装ubuntu或者centos,都有这个问题:vmware自作聪明,提示说"快速安装",然后会使用一个autoinst.iso文件来快速安装,并且装完系统后该重启了 ...

  8. 使用Maven构建Android项目

    http://www.ikoding.com/build-android-project-with-maven/ 之前一直在做WEB前端项目,前段时间接手第一个Android项目,拿到代码之后,先试着 ...

  9. [Android NDK/JNI-1A]-开发环境搭建

    NDK简介 NDK能干什么:NDK使得在android中,java可以调用C 函数库. 1.Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意 ...

随机推荐

  1. [LeetCode]671. 二叉树中第二小的节点(递归)

    题目 给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0.如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值. 给出这样的一个二叉树,你需要输出所有 ...

  2. [Binder深入学习二]Binder驱动——基础数据结构二

    Userspace和KernelSpace进行交互时,大部分命令是通过 ioctl 实现的,在这个过程中,最重要的一个便是 BINDER_WRITE_READ 命令了. #define BINDER_ ...

  3. Bootstrap学习第二天轮播插件

    Bootstrap不仅提供了整套的样式,还提供了一系列插件,帮助开发者构建更受欢迎的网站. Bootstrap的轮播插件用起来很简单,代码如下. <!DOCTYPE html> <h ...

  4. Android实现二值点阵图识别

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 前言 我这几天在做一个东西,就是一张像二维码这样的 n*n ...

  5. java时间日期的运用

    我们在使用QQ.微信等应用时,我们的手机会提示该消息时在过去的某个时间发送的,我们如何运用JAVA来实现这个功能呢? 代码如下: public class Time { public static v ...

  6. (专题四)05 matlab视角处理

    方位角 视角 子图一 子图二,视点设置在图形的正上方 子图三,视点设置在图形侧面时的效果 子图四,十点设置在图形斜下方的效果 \circ用于输出符号° view函数的其他用法 视点在笛卡尔坐标中的位置 ...

  7. 简单聊聊 Ironic

    上一篇文章里我简单介绍了一下「裸金属」的概念,提到了 OpenStack 中的核心项目 Ironic,今天简单来聊聊它. Ironic 项目的吉祥物 Bare Metal 所以用 Bear 来做吉祥物 ...

  8. NMAP类型题目 (escapeshellarg,escapeshellcmd使用不当)

    [BUUCTF 2018]Online Tool 给出了源码 审计 <?php if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER[' ...

  9. Vue编写的页面部署到springboot网站项目中出现页面加载不全问题

    问题描述: 在用Vue脚手架 编写出一个页面之后, 部署到后台项目中, 因为做的是一个页面 按理来说 怎么都能够在服务器上运行 , 我也在自己的node环境测试 , 在同学的springboot上运行 ...

  10. 再玩树莓派(二)Jexus&.NetCore

    接上一篇,操作系统弄好之后,轮到开发运行环境的搭建. 先说说目标,也就是我到底想搞什么飞机.先说说小目标吧. 现有一个手机App客户端,以答题小游戏作为其内容(例如:口算题,24点,科学百科等) 树莓 ...