intellij 从2020升级到2023 踩坑实录

2023-05-16

1.下载新版本intellij

工作机器上的intellij版本为2020社区版,版本比较老旧,需要进行升级。IDE这种提高生产力的工具,还是蛮重要的,也是值得稍微多花点时间研究一下的。升级之前就预计到了不会是那么简单,后面事实也证明确实很麻烦,特意记录升级过程,为后来人指明方向。

首先下载新版本,这个没什么好说的,直接去jetbrain官网,根据自己的操作系统下载对应的intellij版本,我的机器是ubuntu,下载对应的linux .tar.gz然后解压就好。

2.启动intellij报错,查找对应日志文件

解压以后,会得到一个ideaIC-2023.1文件夹,文件夹里面是idea-IC-231.8109.175,进去可以看到结构

tree -L 1 idea-IC-231.8109.175

在这里插入图片描述

cd到bin里面,里面有idea.sh文件。最理想的情况,就是执行idea.sh文件,然后IDE正常启动。当然理想情况是不可能发生的,一般都会各种意外。

执行idea.sh的时候就报错,无法正常启动,需要去查log。2023版各文件的位置为

配置(idea.config.path)~/.config/JetBrains/IdeaIC2023.1
插件(idea.plugins.path)~/.local/share/JetBrains/IdeaIC2023.1
系统(idea.system.path)~/.cache/JetBrains/IdeaIC2023.1
日志(idea.log.path)~/.cache/JetBrains/IdeaIC2023.1/log

IDE启动的日志就在~/.cache/JetBrains/IdeaIC2023.1/log中

tree -L 1 log

在这里插入图片描述
启动日志就在idea.log里面。

3.排查log

在idea.log中,开始排查错误信息。

2023-04-20 14:16:24,412 [     78] SEVERE - #c.i.i.p.PluginManager - `include` is supported only on a root level ([row,col,system-id]: [718,5,"/home/xxx/.local/share/JetBrains/IdeaIC2023.1/odps-studio-intellij/lib/odps-studio-intellij-3.6.2.jar"])
java.lang.Throwable: `include` is supported only on a root level ([row,col,system-id]: [718,5,"/home/xxx/.local/share/JetBrains/IdeaIC2023.1/odps-studio-intellij/lib/odps-studio-intellij-3.6.2.jar"])
        at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
        at com.intellij.ide.plugins.XmlReader.checkXInclude(XmlReader.kt:499)
        at com.intellij.ide.plugins.XmlReader.access$checkXInclude(XmlReader.kt:1)
        at com.intellij.ide.plugins.XmlReader.readExtensions(XmlReader.kt:408)
        at com.intellij.ide.plugins.XmlReader.readRootElementChild(XmlReader.kt:264)
        ...

最开始看到有抛上述异常,开始去找相关错误信息。找了半天,没发现有啥好办法。后来证明,这个东西暂时不影响正常使用…

继续查看日志,发现如下一段错误日志。

2023-04-20 14:16:26,014 [   1680]   INFO - STDERR - Start Failed
2023-04-20 14:16:26,014 [   1680]   INFO - STDERR - Internal error. Please refer to https://jb.gg/ide/critical-startup-errors
2023-04-20 14:16:26,015 [   1681]   INFO - STDERR -
2023-04-20 14:16:26,015 [   1681]   INFO - STDERR - com.intellij.diagnostic.PluginException: Fatal error initializing 'com.aliyun.odps.studio.intellij.StudioMain' [Plugin: OdpsStudio]
2023-04-20 14:16:26,015 [   1681]   INFO - STDERR -     at com.intellij.serviceContainer.ComponentManagerImpl.handleInitComponentError$intellij_platform_serviceContainer(ComponentManagerImpl.kt:612)
2023-04-20 14:16:26,015 [   1681]   INFO - STDERR -     at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:59)
2023-04-20 14:16:26,015 [   1681]   INFO - STDERR -     at com.intellij.serviceContainer.BaseComponentAdapter.doCreateInstance(BaseComponentAdapter.kt:154)
2023-04-20 14:16:26,016 [   1682]   INFO - STDERR -     at com.intellij.serviceContainer.BaseComponentAdapter.createInstance$lambda$1(BaseComponentAdapter.kt:133)
2023-04-20 14:16:26,016 [   1682]   INFO - STDERR -     at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
2023-04-20 14:16:26,016 [   1682]   INFO - STDERR -     at com.intellij.serviceContainer.BaseComponentAdapter.createInstance(BaseComponentAdapter.kt:132)
2023-04-20 14:16:26,016 [   1682]   INFO - STDERR -     at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:92)
2023-04-20 14:16:26,016 [   1682]   INFO - STDERR -     at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:77)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:428)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at com.intellij.serviceContainer.ComponentManagerImpl$createInitOldComponentsTask$1.invoke(ComponentManagerImpl.kt:426)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at com.intellij.idea.ApplicationLoader$initApplicationImpl$appInitializedListeners$1$1$2$1.invokeSuspend(ApplicationLoader.kt:161)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
2023-04-20 14:16:26,017 [   1683]   INFO - STDERR -     at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
2023-04-20 14:16:26,018 [   1684]   INFO - STDERR -     at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:302)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
2023-04-20 14:16:26,019 [   1685]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR - Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.log4j.Category.getAllAppenders()" because the return value of "org.apache.log4j.Logger.getParent()" is null
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at com.aliyun.odps.studio.intellij.ide.IntellijLogger.getInstance(IntellijLogger.java:48)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at com.aliyun.odps.studio.intellij.ide.IntellijLogger.info(IntellijLogger.java:21)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at com.aliyun.odps.studio.component.util.DerbyDBUtil.initOptionPath(DerbyDBUtil.java:23)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at com.aliyun.odps.studio.intellij.StudioMain.initComponent(StudioMain.java:94)
2023-04-20 14:16:26,020 [   1686]   INFO - STDERR -     at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:45)
2023-04-20 14:16:26,021 [   1687]   INFO - STDERR -     ... 25 more
2023-04-20 14:16:26,021 [   1687]   INFO - STDERR -
2023-04-20 14:16:26,021 [   1687]   INFO - STDERR - -----
2023-04-20 14:16:26,021 [   1687]   INFO - STDERR - Your JRE: 17.0.6+10-b829.5 amd64 (JetBrains s.r.o.)
2023-04-20 14:16:26,021 [   1687]   INFO - STDERR - /home/xxx/ideaIC-2023.1/idea-IC-231.8109.175/jbr

Internal error. Please refer to https://jb.gg/ide/critical-startup-errors
这一句很关键,根据这一句搜到这个老哥的总结。

https://intellij-support.jetbrains.com/hc/en-us/articles/360007568559?page=8

里面有这么一段

There are multiple possible causes for this issue: broken or incompatible plug-in, corrupted IDE installation files, failed patch update, broken caches or damaged configuration.

It may be hard to guess the root case from the exception stacktrace.

再结合下面的错误信息,基本就是broken or incompatible plug-in的原因了。

看idea-IC-231.8109.175文件夹里有一个plugins, 最开始以为是在这个文件夹下面的。但是查了好久,也木有发现OdpsStudio相关的插件呀,相当郁闷,也不知道为什么intellij启动跟aliyun有什么关系。

后来想起来,还有一个插件相关的目录
~/.local/share/JetBrains/IdeaIC2023.1

cd到这个目录,果然发现有个跟OdpsStudio相关的目录,不管三七二十一,直接删掉。

再执行idea.sh文件,世界和平,正常启动。

4.创建快捷方式

每次通过执行idea.sh的方式启动肯定不方便,需要创建快捷方式快速启动。

网上的教程都是告诉你创建idea.desktop(应该是老版本)文件去实现。但是新版本的intellij提供了更好的方法:

Tools菜单下面有个create desktop entry选项。点击这个选项,可以在/usr/share/applications中直接生成jetbrains-idea-ce.desktop文件。

但是重点来了,发现每次点快捷方式,启动的还是原来2020老版本的IDE!!!

试了好几次,重启大法也用上了,还是一样。

突然灵光一现想起一个问题,是不是原来就有这个文件,虽然在新版本IDE 里执行了create desktop entry选项,文件没有更新啊

于是把原有的文件删掉,重新再点击create desktop entry选项,然后发现应用程序里的快捷方式图标,更新了。这个时候再启动,也是2023新版的IDE,完美解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

intellij 从2020升级到2023 踩坑实录 的相关文章

  • 深蓝 运动规划

    文章目录 CH1 Introduction一 Motion Planning 概念二 Front end xff1a Path finding1 Search based methods2 Sampling based methods3 K
  • 接收机/DTU 安装调试 读取gps数据

    文章目录 一 整体连接图二 DTU配置三 接收机设置 在这里记录一下 xff0c 实验室平台上 xff0c 安装gps接收机和配置的一些步骤 一 整体连接图 二 DTU配置 首先 DTU 需要通过 COM 口和电脑端连接 xff0c 注意这
  • OOQP 安装和使用

    OOQP 安装和使用 1 安装2 使用 1 安装 需要先安装 blas 和 ma27 BLAS xff1a span class token builtin class name cd span my lib span class toke
  • 系统指标

    目录 1 cpu xxx 1 1 cpu空闲率cpu idle cpu idle表示除硬盘IO等待时间以外其它等待时间 xff0c 这个值越大 xff0c 表示cpu越空闲 xff0c 还可以执行更多的任务 xff0c 反之亦然 xff0c
  • stm32 MPU6050 6轴姿态传感器的介绍与DMP的应用

    最近应用到三轴姿态传感器 xff0c 因为之前有MPU6050 xff08 6轴传感器 xff0c 这是6轴的 xff09 xff0c 进行搭配使用 xff0c 通过三轴姿态传感器进行舵机的角度调整 内容来源学习正点原子的教程 xff09
  • 室内外融合北斗+uwb终端数据监听和发送控制方法

    UDP接收GNGGA报文同时转发UDP报文的方法 span class token keyword package span span class token class name Frame span span class token p
  • Ubuntu使用终端命令安装谷歌Chrome浏览器

    使用命令行安装谷歌浏览器稳定版 span class token function sudo span span class token function wget span http www linuxidc com files repo
  • 无人机PX4使用动捕系统mocap的位置实现控制+MAVROS

    动捕系统Optitrack xff0c 有很高的定位精度 xff0c 能够给无人机提供比较精确的位置信息 xff0c 因此如果实验室有条件 xff0c 都可以买一套动捕系统 动捕系统的原理 xff1a 光学式动作捕捉依靠一整套精密而复杂的光
  • Optitrack使用ros完成实时接收刚体的位置与四元数信息

    1 Opitrack系统标定 工作环境 xff1a 运行Motive的Windows主机 和一台安装有ROS的ubuntu电脑 标定步骤 1 准备 优化捕获设置 xff1b 2 在相机预览窗口 xff08 Camera Preview xf
  • RoboMaster机甲大师比赛入门?我们从STM32开始!

    同步博客地址 xff1a 从STM32开始的RoboMaster生活 xff1a 入门篇 项目 amp 教程仓库 xff1a STM32 RoboMaster 1 0 STM32是什么 1 1 定义 ST 43 M 43 32 61 STM
  • C++头文件定义类的方法

    新手在写C 43 43 程序定义类的时候 xff0c 可能会犯一个错误 xff0c 就是在main函数文件里定义很多类 xff0c 一个文件中包含很多函数 xff0c 这样程序看起来很冗杂 今天总结一下如何在C 43 43 中使用头文件来定
  • 相机光学(十五)——如何提高相机标定的精度

    为了提高单目相机标定的精度 xff0c 认真看了张正友标定法的原文 xff0c 并且学习过网上一些牛人的方法 xff0c 但是大部分时候说的很笼统 xff0c 自己把这些经验总结起来并都测试了一下 xff0c 感觉靠谱的结论列出如下 xff
  • TCP/UDP、封装与解封装

    目录 传输类型 网络里面三层架构 TCP IP模型 OSI模型 TCP IP模型 掌握 TCP IP模型当中重点 数据传递过程中的封装和解封装 封装 解封装 TCP UDP ICMP ICMP错误报告 ICMP重定向 典型应用 PING应用
  • 解决 ERROR: cannot launch node of type [xxx]: can‘t locate node [xxx] in package [xxx]

    背景 xff1a 从github下载的ros代码 xff0c 修改添加节点后 xff0c catkin make 编译通过 xff0c 但在运行launch文件时候报错 原因 xff1a 1 从github上下载的很多文件 xff0c 下载
  • stm32控制步进电机

    本文使用DM542c驱动器驱动 使用前注意根据实际情况调节拨码开关 本文不会提到GPIO使能 xff0c 请自行使能 一 PWM操作驱动器使步进电机一直转 使能定时器时钟 xff0c 并配置基本参数 下图以TIM3为例 配置输出比较PWM1
  • 树莓派GPIO

    命令行执行下行 xff0c 即可得树莓派管脚编码表 gpio readall 也可看下图 xff1a BOARD 编号参考 Raspberry Pi 主板上 P1 接线柱的针脚编号 使用该方式的优点是无需考虑主板的修订版本 xff0c 无需
  • python opencv滤波

    1 均值滤波 算法简单 xff0c 计算速度快 xff0c 在去噪的同时去除了很多细节部分 xff0c 将图像变得模糊 cv2 blur 2 高斯滤波 去除高斯噪声 cv2 GaussianBlur 3 中值滤波 去除椒盐噪声 cv2 me
  • opencv imwrite()保存指定路径

    cpp为例 include lt opencv2 opencv hpp gt include lt string gt include lt iostream gt using namespace cv using namespace st
  • python pip安装的包的路径

    以ubuntu为例 从一个店家那里拿到的一个ubuntu环境中 xff0c 同时安装了python3 6和python2 7 xff0c 又安装了ros xff0c 最后pip安装包的位置很混乱 xff0c 安装的包不知道安装在了哪里 使用
  • solidworks实体显示线框

    sw有段时间没使用 xff0c 今天打开突然发现打开的sw窗口数超过1 xff0c 那么从第二个窗口以后的模型都显示成以下样子 xff08 无论是之前的文件还是新建的都不行 xff09 如上是一个圆盘 xff0c 明明是实体 xff0c 却

随机推荐

  • vscode使用虚拟环境

    我的conda没有添加入path xff0c 每次打开总是报错 一 选择对应虚拟环境的解释器 1 点击vscode的右下角这里 2 点击后可能会在vscode上方出现下图样子 xff0c 如果出现下图 xff0c 则点击第二项Select
  • TabError: inconsistent use of tabs and spaces in indentation

    错误原因是tab制表符和空格混用了 从其他地方复制源码容易出现此错误 解决办法 xff1a 把处于同级缩进的所有缩进修改统一 比较流行的几个编辑器都能标识tab和空格 xff0c 比如我用的vscode 用鼠标框选 不知道是tab还是空格的
  • 关于深度学习的问题笔记

    感谢沐神教我深度学习 x1f64f 损失为什么要平均 xff1f 平均即除以batch size xff0c 若不除 xff0c 则批越大梯度越大 xff0c 梯度下降的步长就越大 除以batch size可使梯度与批大小无关 也可以不在损
  • 简单(炫酷)的单链表快速排序写法

    昨天在复习快排的时候 在B站看到一个小哥哥说某大厂的面试让写一个单链表的快速排序 我们见的最多的快排写法都是从两端向中间扫描 这种写法在单链表上不能实现 哥们分析道 快排的核心思想是每次扫描后 所有pivot左侧的元素都比pivot小 右侧
  • char* char[]

    C 43 43 判断char 的指向 char a 61 34 Peter 34 char b 61 34 Peter 34 char c 61 new char 6 strcpy s c 6 34 Peter 34 这里a指向常量区 b指
  • HTTP 基本认证 HttpBasic

    HTTP 的认证机制 基本认证 摘要认证 一 基本认证 用BASE64 算法加密后的字符串放在HTTP Request中的Header Authorization中发送给服务端 xff0c 这种方式叫HTTP基本认证 Basic Authe
  • libcurl异步调用

    span class token keyword int span span class token function main span span class token punctuation span span class token
  • 标准c++库、stl库,boost库,qt库

    C 43 43 标准库 C C xff0b xff0b 标准库主要包含3部分 xff1a STL IO流及本地化 C的函数库 标准库不是STL STL是标准模板库 是标准库的一个子集 它是一个可复用的组件库 xff0c 其中包含了很多实用的
  • 生成2023年节假日/工作日维表

    项目中有一张维表 xff0c 维护的是历史节假日工作日的信息 xff0c 估计在很多场合都有类似的需求 到了新年 xff0c 需要生成新一年的数据 xff0c 下面看看如何在维表中插入新一年的数据 1 查询节假日 根据国务院发布的休假信息
  • C++智能指针

    参考 xff1a 头文件auto ptr使用示例 unique ptr类模板声明示例 shared ptr模板声明通过辅助类模拟实现 shared ptrshared ptr使用示例 weaked ptrweak ptr 用法weak pt
  • 使用SiftGPU对两幅图像进行特征点匹配

    前言 继上一篇博客中谈到使用Changchang Wu的SiftGPU xff0c 使用GLSL语言在Windows系统下的编译方法http blog csdn net qq 36007951 article details 7847234
  • CAN通信学习笔记(一)

    1 CAN通信的基本原理 1 1 基本概念 CAN 是 Controller Area Network 的缩写 xff08 以下称为 CAN xff09 xff0c 是 ISO 国际标准化的串行通信协议 在北美和西欧 xff0c CAN 总
  • DSP28335 SCI FIFO深度设置

    SCI工作在FIFO模式下一般是因为所传输的信息并不是以一个字节为单位 xff0c 而是以多个字节组成的一个包为单位的 如果一包数据包括10个字节 xff0c 可以设置FIFO接收中断为10个字节时产生中断 设置以后 xff0c 每接收到1
  • Serial Studio简单使用说明

    Serial Studio简介 Serial Studio是一个跨平台的软件 xff0c 支持将串口 xff0c TCP UDP xff0c MQTT等协议传输数据 xff0c 并将数据可视化显示 xff0c 方便嵌入式开发人员实现数据的可
  • YOLOV1个人理解总结

    YOLO是著名的端到端目标检测框架 xff0c 最大的特点是检测快 xff0c 亲自试验YOLOv3 v5 v5在jeston Xavier NX上可以达到15FPS左右 xff0c 检测精度也相当可观 xff0c 可以达到实时检测 xff
  • STM32HAL库-USART-调试串口(大小端测试)

    概述 本篇文章介绍如何使用STM32HAL库 xff0c USART 调试串口 xff08 大小端测试 xff09 示例 硬件 xff1a STM32F103CBT6最小系统板 软件 xff1a Keil 5 29 43 STM32Cube
  • Windows下实现C语言Socket通讯TCP传送结构体信息

    版权声明 xff1a 本文为博主原创文章 xff0c 未经博主允许不得转载 Windows下实现C语言Socket通讯 lt TCP传送结构体信息 gt 首先socket通信的步骤 xff1a 三次握手协议 三次握手协议 代码 服务器端 i
  • #STC8A8K# #STC8F1K# #STC8G1K# #STC8H1K# ——STC8系列单片机整体评价

    成就更好的自己 声明 xff1a 这不是广告 xff0c 只是发表看法和吐槽 xff0c 不吹不擂 xff1b 本文以STC8A8K64S4A12 为例 xff0c 简要分析一下STC8系列 xff1b STC 宏晶科技 公司作为国内的一家
  • 拓展模块使用教程和心得(三):ULN2003模块与28BYJ48步进电机(测试平台:STC8A8K,STM32F103)

    成就更好的自己 关于ULN2003模块和对应的28BYJ48步进电机 xff0c 网上现有的资料与教程对于初学者有点不太友好 xff0c 造成的现象是仅仅只能让步进电机转起来 xff0c 但是没有对于控制转速和转角的实践分析 xff0c 本
  • intellij 从2020升级到2023 踩坑实录

    1 下载新版本intellij 工作机器上的intellij版本为2020社区版 xff0c 版本比较老旧 xff0c 需要进行升级 IDE这种提高生产力的工具 xff0c 还是蛮重要的 xff0c 也是值得稍微多花点时间研究一下的 升级之