尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

在Linux上安装IntelliJ IDEA 2020.3.4社区版:tar.gz部署与配置指南

在Linux上安装IntelliJ IDEA 2020.3.4社区版:tar.gz部署与配置指南 简介面向 Linux 系统的 IntelliJ IDEA 社区版安装包版本号为 2020.3.4采用压缩包格式分发个人与商业用途均可免费使用遵循 Apache 2.0 开源协议。它原生支持 Java、Kotlin、Groovy、Scala 等编程语言集成 Maven、Gradle、sbt 常用构建工具兼容 Git、GitHub、SVN、Mercurial、Perforce 等版本控制系统并提供调试器、Docker 容器支持与 Lombok 插件以及辅助 Spring Boot 开发的 Spring Assistant 插件因此既适合在 Linux 桌面环境搭建轻量级开发环境也适合需要离线安装或内网部署的场景。解压后共有 2788 个文件压缩包整体约 700.51MB。文件类型以 778 个 jar 类库、477 个 ftl 模板、248 个 json 配置、142 个 xml 描述为主体同时包含 png 与 webp 图标资源、so 动态链接库、pom 构建配置、license 许可证、txt 说明文档、ttf 字体等辅助文件目录结构完整可支撑编辑器启动、插件加载、项目编译、界面渲染等日常开发需求也便于排查缺失组件或进行二次定制。已有 1093 人学习下载适合有 Linux 版本 IDEA 社区版安装包获取需求的开发者直接使用。1. 为什么还在装 ideaIC-2020.3.4.tar.gz内存 8G 的旧笔记本上新版 IntelliJ IDEA 一开就吃满资源而 ideaIC-2020.3.4.tar.gz 解压完就能跑这是很多人回过头找历史版本的真实原因。ideaIC 是 IntelliJ IDEA Community Edition 的 Linux 安装包代号IC 表示社区版IU 表示旗舰版2020.3.4 是 2020.3 分支最后一个修复版本自带 JetBrains Runtime 11系统里不预装 JDK 也能把 IDE 拉起来。它面向的是不需要订阅授权的 Java 日常开发编译、调试、重构、Git、Maven/Gradle 支持都是完整能力语言支持上限到 Java 15。适合三类人刚学 Java 的学生和转行者、内网环境只能拿到历史版本包的开发机、以及不想装 Toolbox App、只想要一份可整体搬走的目录的 Linux 用户。装上之前先把免费版和旗舰版的分界看清楚免得装完才发现缺功能。2. 拆包之前ideaIC 与 ideaIU 的差别以及这个 tar.gz 里装了什么2.1 ideaIC 与 ideaIU免费和旗舰不是同一个引擎JetBrains 给 IDEA 打了两套包名ideaIC 和 ideaIU。IC 是 Community EditionApache 2.0 协议开源授权免费且无期限IU 是 Ultimate闭源订阅制有试用期。二者是基于同一套 IDE 内核叠加不同插件组不是两套独立代码。所以社区版不是功能被砍到不能用的阉割版Java/Kotlin 的基础编辑、重构、调试、Git 集成、Maven/Gradle 支持都是完整的被剥离的更多是框架和企业级横向能力这对只写 Java SE 和学习期的项目来说影响有限。能力社区版 ideaIC旗舰版 ideaIUJava/Kotlin/Groovy 编辑编译调试完整完整Maven/Gradle/Git/单元测试完整完整Spring Boot 代码助手无内置框架助手完整工具链数据库客户端基础浏览DataGrip 集成前端与 JavaScript 深度支持基础语法完整前端工具链分析器、远程开发、Docker 集成无有选型逻辑很直接如果你的 Spring Boot 项目只是普通 Maven 依赖组合社区版完全能编译能运行一旦涉及 JavaEE 容器、数据库逆向、前后端同仓开发直接上旗舰版别指望靠插件把社区版补齐很多核心模块是不开源的。同样的命名规则在 PyCharm 上也成立社区版对应 pycharm-community看到 community 或者安装包名里带 -IC- 后缀就是免费版认这个前缀可以避免下错包。2.2 2020.3 的 Linux 官方包为什么只有 tar.gz2020.3 这个年份的 Linux 官方安装介质就是 tar.gzdeb、rpm 这些包格式是后续版本才陆续补上的。所以拿到 ideaIC-2020.3.4.tar.gz 不是走偏门这就是 2020.3 在 Linux 上的标准分发形态。下载时去 JetBrains 官网 Download 页面先切到 Community 标签再进 Other versions 或 Archive 的历史版本列表里找 2020.3.4页面默认展示的是旗舰版装完才发现是 ideaIU 的坑一般出在这一步因为 ideaIU 和 ideaIC 的压缩包体积接近只有文件名前缀不同。历史版本列表的每个压缩包旁边会附一个 .sha256 校验文件这个文件后面会用到别跳过。这个包约几百 MB里面已经带了 JBRJetBrains Runtime所以它不像某些 IDE 那样要求你先装好 Java 再安装。对离线环境来说把 tar.gz 拷进内网解压即用不需要联网执行安装器这也是它在一线使用中一直有人用的原因。2.3 解压后的目录结构jbr、bin、lib 各管什么先不急着解压用下面命令看看包里的顶层结构tar -tzf ideaIC-2020.3.4.tar.gz | head -20 # 输出类似实际 build 号以包内为准 # idea-IC-203.xxxxx/ # idea-IC-203.xxxxx/bin/idea.sh # idea-IC-203.xxxxx/bin/idea64.vmoptions # idea-IC-203.xxxxx/build.txt # idea-IC-203.xxxxx/jbr/bin/java # idea-IC-203.xxxxx/lib/idea.jar # idea-IC-203.xxxxx/product-info.jsontar -tzf只会列出压缩包内的清单而不解压其中 z 表示按 gzip 解压读取t 表示列出目录f 指定压缩包文件。确认顶层目录确实是 idea-IC- 开头后再执行真正的解压。目录名里的 203 是 2020.3 分支的 build 前缀完整版本对应关系存在包内的 build.txt 里。解压后核心是四个部分。bin放着启动脚本 idea.sh 和 JVM 参数文件 idea64.vmoptionsjbr是 JetBrains Runtime基于 OpenJDK 11 定制IDE 自己跑全靠它和系统里装的 JDK 互不干扰lib是平台层和 idea.jar不要动plugins里每个子目录对应一个内置插件删掉子目录等于禁用该插件出问题时可以用这个办法做二分排查。提示这个包装的是有桌面环境的 Linux 发行版依赖 X11 或 Wayland。纯 SSH 终端环境装它没有意义启动时报错也基本都是缺显示环境不是包坏了。底层还依赖一批 GTK 和 X 库libgtk-3-0 或 libgtk2.0-0、libXtst、libXi、libXrender。内存方面 2G 能开4G 才流畅低于这个配置建议用轻量桌面并在后面 4.3 节把堆内存调小。3. 从 tar.gz 到能点开的 IDE校验、解压、启动、桌面图标3.1 先做完整性校验再解压下载完第一件事不是解压而是校验。网络传输过程中文件损坏解压阶段不一定报错坏文件会在启动时表现出各种莫名其妙的 ClassNotFoundException。cd ~/Downloads sha256sum ideaIC-2020.3.4.tar.gz # 把输出的 64 位十六进制值和官网的 .sha256 文件内容做对比 sha256sum -c ideaIC-2020.3.4.tar.gz.sha256 # 输出 ideaIC-2020.3.4.tar.gz: OK 表示校验通过sha256sum默认只输出摘要要人工去对比sha256sum -c则读取同目录下的 .sha256 文件并自动比对返回 OK 或 FAILED。官网历史版本页提供的那个 .sha256 文件就是给这个命令用的。校验不通过就重新下载别抱着侥幸去解压。3.2 解压和安置到用户目录mkdir -p ~/apps tar -xzf ideaIC-2020.3.4.tar.gz -C ~/apps mv ~/apps/idea-IC-203.* ~/apps/idea-2020.3.4 chmod x ~/apps/idea-2020.3.4/bin/idea.sh-xzf表示解压 gzip 格式的包-C ~/apps指定解压目标目录先建目录再解压可以避免目标不存在时报错。mv 那一步把带 build 号的目录改成好记的版本号目录*通配符适配不同 build 号。chmod 是为了防止某些环境里解压后脚本丢执行权限。多用户共用这台机器时常见做法是放到 /opt 下sudo mv ~/apps/idea-2020.3.4 /opt/然后sudo chown -R 你的用户名 /opt/idea-2020.3.4否则普通用户没有写权限IDE 会在升级插件和写配置时报错。路径里不要带空格和中文JBR 和部分插件对带空格路径支持并不好。也不要解压到 /tmp重启丢目录这种低级事故没必要踩。3.3 首次启动从“没有那个文件或目录”到窗口弹出来~/apps/idea-2020.3.4/bin/idea.sh首次启动会走初始化向导选 Do not import settings设置主题和快捷键方案。这一步过后配置落在~/.config/JetBrains/IntelliJIdea2020.3缓存落在~/.cache/JetBrains/IntelliJIdea2020.3这两个目录一个管设置一个管索引排查问题时可以只删缓存不丢配置。启动失败时终端里的报错信息是最直接的线索按下面这张表排查报错原因处理tar.gz: 没有那个文件或目录shell 在当前目录找不到这个包ls 确认实际文件名和所在目录用 Tab 补全路径./idea.sh: 没有那个文件或目录缺动态链接库不是脚本不存在按下面命令装 GTK/X 库启动后窗口闪现即退出无显示环境、内存不足或插件冲突先确认 DISPLAY再按 5.3 节处理“没有那个文件或目录”这句话有歧义要分两步看。出现在解压步骤多半是下载目录找错了浏览器有时会把文件重命名成 ideaIC-2020.3.4 (1).tar.gz用ls -lh | grep idea看一眼就知道。出现在执行 idea.sh 这一步是脚本依赖的动态库找不到常见于精简安装的桌面系统补齐依赖即可sudo apt install -y libgtk-3-0 libxtst6 libxi6 libxrender1 fontconfiglibgtk-3-0 提供界面绘制libXtst 负责输入事件采样libXi 是 X Input 扩展libXrender 管渲染合成。CentOS/RHEL 系对应包名是 libXtst、libXi、libXrender、fontconfig。装完后重新执行 idea.sh窗口能弹出来就说明环境和包都没问题。3.4 写一个 .desktop 入口每次开终端敲路径不现实在应用菜单里加一个入口mkdir -p ~/.local/share/applications cat ~/.local/share/applications/jetbrains-idea-ce.desktop EOF [Desktop Entry] TypeApplication NameIntelliJ IDEA Community Edition Exec/home/你的用户名/apps/idea-2020.3.4/bin/idea.sh %f Icon/home/你的用户名/apps/idea-2020.3.4/bin/idea.svg Terminalfalse StartupNotifytrue StartupWMClassjetbrains-idea-ce CategoriesDevelopment;IDE;Java; EOF chmod x ~/.local/share/applications/jetbrains-idea-ce.desktopExec里的 %f 让文件管理器能把工程文件直接交给 IDEA 打开Icon指向安装目录自带的 svg 图标StartupWMClass必须和 IDE 进程的 WMClass 一致否则任务栏会出现图标和运行实例分离的两个入口这是很多人说“点开之后任务栏两个图标”的原因。写完刷新桌面数据库GNOME 下是update-desktop-database或重新登录应用菜单里就能搜到。4. 装完先调三处再开工JDK、Maven、虚拟机内存4.1 JBR 管 IDE 进程Project SDK 管编译~/apps/idea-2020.3.4/jbr/bin/java -version # openjdk version 11.0.x # JetBrains Runtime 11 ...这个 java 命令属于 IDE 自身它决定 IDEA 这个进程跑在什么运行时上。新建项目时要编译代码得另配 Project SDKFile → Project Structure → SDKs → 左上角加号添加系统里的 JDK 路径然后在 Project 标签里把 Project SDK 切到刚添加的版本。系统 PATH 里java -version输出什么和 IDE 用什么编译是两回事别混在一起排查。2020.3 的官方语言支持上限是 Java 15。如果你机器上只有 JDK 17建项目时会报invalid source release: 16这类错误给这个版本另装一个 JDK 11 是常见做法。多个 JDK 都在 SDKs 面板里统一注册切换项目时下拉选择即可。不要在系统 PATH 里把多个 JDK 目录堆一起那样只会让 IDE 和 Maven 各自找到不同的版本排查起来更费劲。4.2 给 Maven 指定 settings.xml 和本地仓库社区版自带一个 Maven 3打开 Settings → Build, Execution, Deployment → Build Tools → Maven三个关键项要确认Maven home path 选 BundledUser settings file 指到~/.m2/settings.xmlLocal repository 留空让 settings.xml 里的配置决定避免出现 IDEA 认为仓库在 A、命令行认为在 B 的分裂局面。settings.xml 最常见的修改是换镜像源内网环境则换成公司私服地址settings mirrors mirror idaliyun-public/id mirrorOfcentral/mirrorOf urlhttps://maven.aliyun.com/repository/public/url /mirror /mirrors /settingsmirrorOf填 central 表示只拦截中央仓库的下载请求如果你希望所有仓库都走镜像改成*。改完在 Maven 设置的 Runner 标签页里把 JRE 指向和项目一致的那个 JDK。这个参数默认跟随 IDE 启动的 JBR也就是 JDK 11如果项目要求 JDK 8不显式切换的话Maven 编译插件会按 JDK 11 的行为去处理老项目经常在这里出现莫名其妙的编译差异。4.3 用 idea64.vmoptions 控制堆内存和编码2020.3 是 64 位专用版本JVM 参数文件是bin/idea64.vmoptions32 位时代遗留的 idea.vmoptions 在这个版本里不生效。改这个文件有两个位置安装目录下的 bin 目录是全局默认升级或重装会被覆盖用户配置目录~/.config/JetBrains/IntelliJIdea2020.3/idea64.vmoptions是用户级文件优先级更高。推荐用 Help → Edit Custom VM Options 打开用户级文件来改。参数建议值什么时候动它-Xms256m低配机器别调大值越大启动越慢-Xmx2048m大项目卡顿、GC 频繁时调到 4096m-XX:ReservedCodeCacheSize512m插件装多之后启动闪退或报类加载错误时调大-XX:MaxMetaspaceSize512m编译超大工程报 MetaSpace OOM 时调-Dfile.encodingUTF-8固定配置控制台中文乱码时加这一行参数说明-Xms 是堆初始大小提交后直接占物理内存-Xmx 是堆上限超过才触发 Full GC项目大就调它。ReservedCodeCacheSize 管 JIT 编译缓存太小会让热点方法重新编译表现是 CPU 高但编译慢。MaxMetaspaceSize 管类元数据工程依赖特别多时容易触顶。改完重启生效别把 -Xms 和 -Xmx 设成同一个大数这不会换来性能只会让低配机启动阶段就把内存占光。提示如果启动后 IDE 自动关闭先不要改参数把~/.cache/JetBrains/IntelliJIdea2020.3改名备份后重启让它重建索引。缓存损坏引发的闪退比内存不足更隐蔽先排除它再动 vmoptions。4.4 社区版建 Spring Boot 项目不走插件走 zip社区版没有 Spring Assistant那是旗舰版内置能力但 Spring Boot 项目本质是 Maven 依赖组合不需要框架插件也能编译运行。常见的做法是用 Spring Initializr 生成项目curl -G https://start.spring.io/starter.zip \ -d typemaven-project \ -d languagejava \ -d javaVersion11 \ -d groupIdcom.example \ -d artifactIddemo \ -d dependenciesweb,validation \ -o demo.zip unzip demo.zip -d demo cd demo ./mvnw spring-boot:run参数说明type 指定 maven-project 而不是 gradle-projectjavaVersion 填 11落在 2020.3 支持范围内老项目可以填 8dependencies 用逗号分隔 starter 名web 是 Spring MVC 内嵌 Tomcatvalidation 是参数校验。mvnw 是 Maven Wrapper它自己带了一个 Maven不需要系统预装。项目生成后在 IDEA 里 File → Open 选中 demo 目录识别到 pom.xml 后按 Maven 项目导入等索引建完就能跑。这个工作流里社区版和旗舰版的差别集中在编码体验没有 bean 之间的跳转、没有自动装配的提示、yml 文件没有补全。要用本地 Tomcat 调 war 包社区版也没有集成入口要么用 spring-boot:run 里的内嵌 Tomcat要么装免费的 Smart Tomcat 插件把本地 Tomcat 目录指进去效果接近旗舰版。5. 验证安装和三个值得留住的技巧5.1 用 build.txt 和 About 确认版本对应关系cat ~/apps/idea-2020.3.4/build.txt # IC-203.xxxxx ~/apps/idea-2020.3.4/jbr/bin/java -version # openjdk version 11.0.x ... JetBrains Runtime 11build.txt 里的 203 就是 2020.3 分支的标记。启动后打开 Help → About里面的 Build 号如果和 build.txt 一致说明当前进程确实跑在被解压出来的这份目录里没有串到系统里其他版本的 IDEA。这一步在排查“改了 vmoptions 不生效”时很有用很多人改的是 /opt 下旧版本的 bin 文件启动的却是 ~/apps 下另一份。5.2 把 idea 挂到命令行ln -s ~/apps/idea-2020.3.4/bin/idea.sh ~/.local/bin/idea idea ~/workspace/demoln -s建软链接后终端里随时用idea 项目目录打开工程。相比双击图标命令行启动的最大价值是日志可见脚本在终端前台运行时任何 classpath、库加载、端口占用问题都会直接打印出来配合 CtrlShiftA 查找 Log 面板排错效率高很多。5.3 2020.3 在 Linux 桌面的三个兼容开关老版本 IDEA 在 Linux 桌面环境下有三类高频问题对应三个开关。高分屏下字体发虚在用户级 idea64.vmoptions 里加-Dsun.java2d.uiScale2Wayland 或平铺窗口管理器下窗口不能正常置顶、菜单错位在启动脚本前export _JAVA_AWT_WM_NONREPARENTING1菜单渲染异常加-Dide.gtk3false退回 GTK2。这三个都改完仍频繁闪退就回到 4.3 节检查缓存和堆内存。顺手记四个快捷键能覆盖大部分日常操作ShiftShift 全局搜索文件和类CtrlShiftF 全局查找文本AltEnter 快速修复CtrlShiftA 查找并执行任意设置项。想看类的关系在编辑器里选中类名按 CtrlAltShiftU 调出 Diagram Popup继承结构和接口实现一屏看清社区版保留了这个功能。界面想换中文插件市场搜 Chinese Language Pack选和 2020.3 匹配的版本安装重启后 CtrlShiftA 直接输入中文就能定位设置项。本文还有配套的精品资源点击获取
返回列表