IntelliJ IDEA 的安装、配置与使用(简化版)
做 Java 开发这些年,IntelliJ IDEA 基本是绕不开的工具了。它跟 Eclipse 相比,最直观的感受就是"重但好用"——安装包动辄几百兆,第一次启动还要加载一堆索引,可一旦用顺了,代码补全、重构、版本控制这些体验,确实很难再回到过去。这一篇把 IDEA 的安装、配置和使用串成一条完整的链路,以免费社区版为主线展开,从下载安装到创建 JavaWeb 和 Spring Boot 项目,再到常见报错的排查,一步步带着你过一遍。适合刚入门 Java 生态的新手,也适合长期用 Eclipse 想切过来的老开发。文章里所有操作我都用当前最新稳定版号跑过一遍,跟着做基本不会出大问题。
写这篇文章的起因其实挺简单:技术群里隔三差五就有人问 IDEA 到底怎么装、装完怎么配、配完怎么建项目。市面上的教程要么太长太啰嗦,要么只讲某个点,对新手很不友好。这篇简化版就打算把这些问题压缩成一条可操作的路数,照做比光看懂更重要。
1. 安装前,先把版本选明白
1.1 社区版还是旗舰版,别纠结
IDEA 分两个发行版:社区版完全免费,JetBrains 官方提供,支持 Java、Kotlin、Groovy 以及 JVM 系语言的基础开发;旗舰版是商业付费产品,额外包含 Spring/Spring Boot 深度支持、数据库客户端、前端 JavaScript/TypeScript 工具链、Docker 集成等等。初学者基本不需要一开始就上旗舰版,社区版对于 JavaSE、JavaWeb(Servlet + JSP)、Maven 多模块项目、Tomcat 部署这些场景已经足够撑起整个学习阶段。项目后期如果有 Spring Bean 跳转、JPA 面板这类高级需求,再看情况考虑旗舰版授权,注意通过官方渠道获取即可。
关于网上的各类"激活"下载渠道,风险非常高,强烈不建议碰。一方面来源不明的压缩包很可能被植入恶意代码,另一方面也确实没有这个必要——社区版本身就足以覆盖绝大多数学习和个人项目需求,JetBrains 的官方学习计划对学生和开源开发者也有相应政策,与其提心吊胆用来路不明的文件,不如直接从官网走正规路径。
1.2 系统要求与运行环境
IDEA 本质上是 Java 程序,自身启动自带 JetBrains Runtime(JBR),所以即使机器上没有 JDK,IDEA 也能正常打开。但你要写 Java 项目,就必须单独装 JDK。JDK 选择上,如果你是刚入门,建议装当前主流的 LTS 版本,比如 JDK 8 或 JDK 17、21,先想好自己项目的基线,社区里常见的是 8 和 17 双版本共存这种思路,后面第三章会详细说怎么配。
系统要求方面,我在实际使用中的体感数据是:内存至少 8G,强烈建议 16G。IDEA 本身加上浏览器、MySQL、微服务进程,16G 都将将够用,8G 机器跑小项目还行,一开微服务全家桶就会明显吃力。磁盘方面,安装包加索引缓存,预留 5G 以上比较稳妥。操作系统上 Windows、macOS、Linux 都有对应安装包,64 位系统是前提。
检查自己的机器能不能跑 JDK 很简单:打开终端(Windows 用 cmd 或者 PowerShell),输入 java -version,如果提示找不到命令,说明还没装 JDK,先去官网下载安装,安装时记得勾选把 java 加进 PATH。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 下载、安装与首次启动
2.1 从官网下载对应版本
下载一定要去 JetBrains 官网,不要走第三方渠道。进入 Downloads 页面后选对应操作系统,能看到 Ultimate(旗舰版)和 Community(社区版)两个下载按钮,我们这里选择 Community。
Windows 安装包是 exe,双击后有几个选项值得说明,很多人装的时候都是无脑下一步,实际这些勾选项的用途是明确的:
- Create Desktop Shortcut:桌面快捷方式,建议勾上;
- Update PATH variable (restart needed):把 IDEA 启动命令加入系统 PATH,之后可以在命令行敲
idea打开工程,建议勾上; - Open Folder as Project:右键文件夹时直接出现"Open Folder as Project"选项,建议勾上;
- .java 等文件关联:可以不勾,IDEA 里打开单个文件的操作频率不高,没有必要抢占系统文件关联。
安装路径建议不要放 C 盘系统目录。IDEA 程序本身不大,但配置文件、缓存和索引目录都放在用户目录下,如果 C 盘空间紧张,后面可以通过自定义配置目录来迁移,这一步先按默认即可。
macOS 用户装 dmg,拖到 Applications 即可,首次打开可能提示"来自互联网的App",到系统设置里允许即可。Linux 用户下载 tar.gz,解压后运行 bin 目录下的 idea.sh。
2.2 首次启动向导
第一次启动会花一点时间准备。向导里先让选主题:Darcula 是深色,IntelliJ Light 是亮色,这个后面随时能改。接着是插件安装推荐,界面会列一些常用插件,新手建议直接跳过,等熟悉基础操作后再按需装,别一上来就装一大堆插件导致启动变慢。
再往下是 Customize IDE 页面,可以设置键位方案:默认是 IntelliJ IDEA 风格。如果你是从 Eclipse 迁移过来的,可以切换成 Eclipse 风格,快捷键会自动映射过去,这个对老 Eclipse 用户非常友好,切换后按 Ctrl+Shift+O 什么的还是 Eclipse 的肌肉记忆。
如果之前用过老版本或从其他机器迁移配置,可以选择导入设置。首次启动尽量让 IDE 完整建立索引,首次打开项目时右下角会显示进度条,等它跑完。刚打开项目的前几分钟卡顿是正常的,IDEA 正在扫描文件建索引,不要误以为是死机,也不要急着关进程,否则下次打开还要重新来。
2.3 命令行启动(可选)
Windows 上装了 Update PATH 之后,可以直接在终端敲 idea . 打开当前目录项目。macOS 上如果想用命令行打开,需要先到 Tools -> Create Command-line Launcher 生成脚本,之后就可以在终端里执行 idea 命令了。这个技巧在日常切换项目时挺实用,尤其是配合 Git 工作流,从终端到 IDE 的切换少了一步鼠标点击。
3. 核心配置:一次配好,长期受益
3.1 先设置编码:全局统一 UTF-8
IDEA 默认编码其实已经比较合理,但如果你接手过老项目,中文乱码的坑十有八九会踩到。建议在 Settings -> Editor -> File Encodings 中确认三处:Global Encoding、Project Encoding、Properties Files 都改成 UTF-8。
编码不一致这事可以打个比方:就像两个人一个说普通话一个说粤语,谁都以为自己在说标准话,结果一到中文注释输出就全是乱码。IDEA 里要管的地方不止一个,所以第一条就是把全局和项目编码钉死在 UTF-8。另外控制台输出的编码在 Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Runner -> VM Options 中加上 -Dfile.encoding=UTF-8。这个设置建议在装完 IDEA 的第一天就做掉,否则项目一多,总是记得改这个忘改那个。
3.2 配置 JDK 和语言级别
在 Settings -> New Projects Setup -> SDKs 里可以统一添加不同的 JDK,用 Add JDK 指定安装路径,IDEA 会自动识别版本号。项目里是在 Project Structure(快捷键 Ctrl+Alt+Shift+S)的 Project 部分设置 SDK 和 Language Level。
Language Level 决定代码可以用的语法特性,这里有个很多人搞反的概念:JDK 17 的 SDK 配 Language Level 8 是允许的,代码按 Java 8 语法来编译;反过来如果 JDK 8 的 SDK 配 Language Level 17,那编译直接报错。很多人报"无效的源发行版"就是因为 SDK 版本和 Language Level 不一致,比如安装了 JDK 17 却在 Language Level 里选了 8。
我自己的习惯是:新项目统一 JDK 17 + Language Level 17,老项目保持 JDK 8 + Language Level 8。除非项目有特殊说明,不要在一个项目里混搭,否则换人维护的时候,光排查版本问题就够喝一壶。
3.3 Maven 配置:镜像源与本地仓库
Maven 是 Java 项目最常用的构建工具,IDEA 自带了一个 Bundled Maven,可以直接用。但有两个地方建议改一下:
第一,Maven 的 settings.xml。它控制本地仓库路径和远程仓库地址。默认本地仓库在用户目录的 .m2/repository 下,如果 C 盘空间紧张,可以在 settings.xml 里改 localRepository 到一个单独数据盘。远程仓库默认是 Maven 中央仓库,国内访问比较慢,建议配置一个加速镜像源,比如阿里云公共仓库:
xml复制<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Public Warehouse</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
第二,在 IDEA 里指定 Maven 的配置路径。进入 Settings -> Build Tools -> Maven,将 User settings file 指向你自定义的 settings.xml,Local repository 会自动识别,不用手动填。注意改了配置后一定要点一下 Maven 工具窗口里的刷新按钮(Reload All Maven Projects),否则 IDEA 可能还用着旧配置,这个坑我踩过,明明换了镜像源,同步还是从中央仓库拉包,速度一点没变。
3.4 配置 Git 集成
Git 装好后,IDEA 里基本零配置就能识别,前提是系统 PATH 里有 git。Settings -> Version Control -> Git 里能看到 git 可执行文件的路径,一般会自动填好。
打开项目后,如果目录里有 .git,IDEA 会自动识别为 Git 仓库,底部工具窗口出现 Version Control。首次提交代码时有几种认证方式,如果仓库用的是 SSH 地址,需要系统里已经配置好 SSH 密钥,IDEA 会调起系统的 ssh-agent 来认证;新手更推荐先用 HTTPS 方式配合访问令牌来拉代码,省去配置密钥的繁琐步骤。提交代码时选中变更文件,填好提交信息,按 Ctrl+K 提交、Ctrl+Shift+K 推送即可。
4. 创建项目与核心开发操作
4.1 新建一个最普通的 Java 项目
打开 IDEA 后,New Project 向导里左边选 Java,右边选好 SDK。如果机器上已经装了 JDK,这里会直接列出来;没有的话可以从 Download JDK 下拉框里选版本自动下载,这个功能很实用,比如有的电脑只有 JRE,也能直接拉一个 OpenJDK 下来。
生成后的标准目录是 src/main/java 和 src/test/java(Maven 骨架)。写一个 HelloWorld 类,右键选 Run 就能直接输出。如果运行按钮是灰色的,检查一下 Project Structure 里有没有设置 SDK,以及有没有 main 方法。新建项目后 IDEA 会提示是否信任该 Maven 项目,直接信任即可。
4.2 创建 JavaWeb 项目并配置 Tomcat
Web 项目和普通 Java 项目的差别在于多了一个 Web Facet 和打包 Artifact。常见做法:先新建一个 Maven 项目,然后右键模块 -> Add Framework Support -> 勾选 Web Application,IDEA 会自动生成 src/main/webapp 目录和 web.xml 骨架。
接下来配置 Tomcat,步骤是这样的:
- 先去 Apache Tomcat 官网下载一个 Tomcat,版本与 JDK 匹配,JDK 8 对应 Tomcat 9,JDK 17 对应 Tomcat 11(以官网兼容表为准);
- 解压到某个目录,不需要配置系统环境变量,在 IDEA 里能指定路径就行;
- 打开 Run -> Edit Configurations -> 左上角 + -> Tomcat Server -> Local;
- 在 Application server 里点 Configure,选择 Tomcat 解压路径,IDEA 会自动识别出版本号;
- Deployment 页签里点 Add -> Artifact,选那个带
war exploded的选项,意思是"解压目录直接作为部署目录",开发时改完代码刷新页面就能看到效果,不需要重新打 war 包; - Application context 改成
/或者/hello,这决定了访问路径,改成/hello就通过http://localhost:8080/hello/访问。
这里有个容易迷惑的概念:war 和 war exploded 的区别。前者是打包后的静态部署方式,适合生产环境;后者是展开目录方式,适合开发调试,因为修改 JSP 或静态资源后立刻生效,不需要重新打包,Tomcat 配置里默认也是推荐用 exploded。
启动时常见问题就是端口被占用。8080 被其他程序占用就起不来,可以到 Edit Configurations -> Tomcat 里改 HTTP port,改成 8081 或者 9090 都行。Windows 可以用 netstat -ano | findstr 8080 查占用进程,然后到任务管理器里找到对应 PID 结束掉。
4.3 创建 Spring Boot 项目
Spring Boot 项目的创建在社区版也支持,New Project 里选择 Spring Initializr,选择合适的 Spring Boot 版本,勾选一个依赖比如 Spring Web,然后 Finish。这个过程会从网络拉取模板,网络波动可能导致卡住,稍微等一等。
生成后项目里有一个主类,比如 XxxApplication,直接运行 main 方法就能启动内嵌 Tomcat,访问 http://localhost:8080 看到 Whitelabel 错误页说明启动成功。注意社区版对 Spring 的 Bean 跳转、配置提示等有部分功能缺失,这是官方版本功能划分的问题,不影响正常写代码和运行程序。
4.4 常用快捷键速查
快捷键是提效的核心,下面这张表覆盖了开发中最常用的操作,建议存下来练一练。
| 操作 | Windows/Linux | macOS |
|---|---|---|
| 全局搜索功能(万能入口) | Ctrl+Shift+A | Cmd+Shift+A |
| 快速修复 / 导入类 | Alt+Enter | Option+Enter |
| 在打开的文件间切换 | Ctrl+Tab | Cmd+Tab |
| 搜索类 | Ctrl+N | Cmd+O |
| 搜索文件 | Ctrl+Shift+N | Cmd+Shift+O |
| 查找某个方法/字段的引用 | Alt+F7 | Option+F7 |
| 格式化代码 | Ctrl+Alt+L | Cmd+Option+L |
| 运行 / 调试 | Shift+F10 / Shift+F9 | Ctrl+R / Ctrl+D |
| 打开项目结构 | Ctrl+Alt+Shift+S | Cmd+; |
再讲几个 IDEA 特有的操作:按住 Alt 鼠标拖拽可以多行光标,批量修改同类代码非常爽;代码补全时按 Ctrl+Space 能呼出更多建议;Live Templates 输入 psvm、sout 自动生成 main 方法和输出语句,这些模板也可以自己在 Settings -> Editor -> Live Templates 里定义,比如把常用的日志记录语句做成一个模板。
5. 常用插件与效率提升
5.1 值得安装的免费插件
插件不要贪多,装几个核心的就够用,多装反而拖慢启动和索引速度。我长期保留的有这么几个:
第一个是 Lombok 插件(社区版必装)。Lombok 是项目里常用的注解库,社区版默认不识别 @Data、@Slf4j 这类注解,不装插件的话 getter/setter 不会自动生成,代码里全是红线。Marketplace 搜 Lombok,安装后重启生效。
第二个是 Alibaba Java Coding Guidelines,阿里开源的编码规范检查插件。它会扫描代码里的魔法值、重复代码、未处理异常等不规范写法,对团队新人特别有用。注意不要盲目全量开启扫描,否则满屏提示反而让人失去耐心,建议只开启关键规则。
第三个是 MyBatisX / MyBatis Log Plugin。做 SSM 或 Spring Boot + MyBatis 项目时,前者支持 mapper 接口和 XML 文件互相跳转,还能生成常用 Mapper 方法;后者能把 MyBatis 真正执行的 SQL 打印到控制台,排查 SQL 问题比看一堆占位符参数高效得多。
第四个是 Rainbow Brackets 和 CodeGlance。前者把括号按层级染色,多层嵌套代码一眼分辨;后者在编辑器右侧生成代码缩略图,类似 Sublime Text 的 minimap,长文件快速定位很有用。
5.2 Spring Boot 热部署
IDEA 里想要"改代码自动重启",可以给 Spring Boot 项目加 spring-boot-devtools 依赖:
xml复制<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
但光加依赖还不够,IDEA 里还有两个开关要打开:
- Settings -> Build, Execution, Deployment -> Compiler 里勾上 Build project automatically(自动编译);
- Settings -> Advanced Settings 里勾上 Allow auto-make to start even if developed application is currently running(允许热部署)。
这样设置之后,改完代码按 Ctrl+F9(Build Project)手动触发重编译,或者等 IDEA 自动编译,应用会自动重启。实测下来,DevTools 的自动重启在大多数中小型项目里流畅可用。注意 devtools 依赖不要在生产包中出现,Spring Boot 默认会在打包时处理 optional=true,但最好还是确认一下排除规则,避免把开发期依赖带进生产环境。
5.3 Debug 的几个实用技巧
调试是 IDEA 的核心优势之一,说几个平时不太注意但非常好用的技巧。
条件断点:在断点处右键,可以设置 condition 表达式,比如 i == 3 时才中断,避免在循环里一个个看过去。这个在排查集合遍历问题时的效率提升是肉眼可见的。
Evaluate Expression:调试暂停时按 Alt+F8,可以直接在当前上下文执行任意表达式,甚至可以修改某个变量的值再继续运行,不用为了改一个参数而重启应用。
异常断点:在 Run -> View Breakpoints 里加一个 Java Exception Breakpoints,选中 NullPointerException 或者直接选中 Exception,程序抛异常的时候会自动停在抛出位置,不用提前手动加断点。这条对排查偶发空指针特别有用,尤其是在大项目里,没有异常断点就只能靠到处加日志打印。
Watches 面板:把关心的表达式固定到面板里,每走一步实时看值的变化,比每次都去 Evaluate 效率高。调试复杂业务的时候我一般会把几个核心变量拖到 Watches 里,一边单步走一边看它们的变化趋势。
6. 常见问题与排查技巧实录
6.1 中文乱码:原因与解决
乱码问题主要分三类,要分情况处理。
第一类是编译期编码错误,报错类似"错误: 编码GBK的不可映射字符"。原因是源码文件是 UTF-8 编码,但编译器的默认编码不是 UTF-8。解决思路就是把 File Encodings 里的项目编码改成 UTF-8,并且在编译器里加上 -encoding utf-8 参数。
第二类是控制台输出乱码。除了 File Encodings 里的设置,还要在 Help -> Edit Custom VM Options 里加一行 -Dfile.encoding=UTF-8,然后重启 IDEA。这个 VM options 是 IDE 进程的 JVM 参数,和项目运行时的 VM options 是两码事,别搞混。
第三类是 properties 文件里的中文乱码。Settings -> File Encodings -> Default encoding for properties files 改成 UTF-8,并勾选 Transparent native-to-ascii conversion。这样 IDEA 显示中文,底层自动转成 ascii 转义,既能写进 properties 文件,又避免 key-value 解析出问题。这个勾选如果没开,properties 文件里的中文在运行时经常读取成乱码。
6.2 "无效的源发行版"错误
报错实例:Error: java: 无效的源发行版: 17。这是 Language Level 和实际编译 JDK 不匹配导致的。检查位置是 Project Structure(Ctrl+Alt+Shift+S)里的三处:
- Project 里的 SDK 和 Language Level;
- Modules 里该模块的 Language Level;
- Maven 的 pom.xml 里 compiler 插件的 source/target 是否指定了版本。
如果项目用 Maven,最省事的做法是在 pom.xml 的 properties 里统一指定:
xml复制<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
还有一种隐藏坑:Settings -> Build Tools -> Maven -> Runner 里 JRE 选择的版本。如果项目需要 JDK 17,但 Runner 里选的是其他 JRE,也会导致编译异常。我遇到过一个人,SDK、Language Level、pom.xml 全检查了一遍都没问题,最后发现是 Maven Runner 里的 JRE 选错了。
6.3 Maven 依赖下载失败
症状:项目同步时不停报错,jar 一直下载不下来。排查顺序很重要。
第一种是网络问题,换镜像源是最直接的方案,用前面 3.3 节的 settings.xml 镜像配置就能解决绝大多数慢和失败的问题。
第二种是本地仓库有损坏的 lastUpdated 文件。Maven 会在下载失败后生成 *.lastUpdated 标记文件,之后会因为"上次失败了"而跳过重新下载,导致依赖一直报红。解决方法是删除本地仓库里所有 *.lastUpdated 文件,然后重新刷新。Windows 下可以这样执行:
bash复制cd %USERPROFILE%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
macOS/Linux 下用:
bash复制find ~/.m2/repository -name "*.lastUpdated" -delete
删完再刷新项目,Maven 就会重新尝试下载了。
第三种是依赖坐标写错,导致 404。这种情况去 Maven 中央仓库查正确的 groupId 和 artifactId 就行,特别注意版本号是否存在,有些依赖的新版本可能还没发布到中央仓库。
6.4 内存不足与启动缓慢
IDEA 自带的内存限制默认不高,项目多了会明显卡顿。Help -> Change Memory Settings 里可以调大堆内存,比如从默认值调到 4096M,但前提是你的机器物理内存够用。
更底层的调整方式是 Help -> Edit Custom VM Options,打开 idea.vmoptions 文件,核心参数参考:
code复制-Xms1024m
-Xmx4096m
-XX:ReservedCodeCacheSize=512m
注意这里改的是 IDE 进程内存,不是你项目进程的内存,别把机器所有内存都填进 IDE,否则 IDE 不卡了,系统卡死了。
启动慢的另一个原因是索引缓存太大,File -> Invalidate Caches... -> Invalidate and Restart 可以清理内容和索引缓存。这个操作会让后续打开项目重新建索引,花几分钟,但能解决不少编辑器卡顿问题。如果项目特别大,还可以在 Settings -> Project Structure 里把某些目录标记为排除目录(Excluded),减少索引扫描范围。
6.5 Tomcat 端口占用与启动失败
报错常见形式是 Port 8080 is already in use 或者 Address already in use: JVM_Bind。Windows 下用 netstat -ano | findstr 8080 找到占用 PID,再到任务管理器里结束对应进程;macOS/Linux 用 lsof -i:8080 查占用进程,然后 kill 掉。也可以在 IDE 里 Edit Configurations 直接改 HTTP port 为 8081、9090 等。
还有一种情况是项目里配置了多个 Tomcat 而同时启动,或者上一次运行没完全停掉进程。IDEA 里的红色停止按钮要用一下,不要直接从外部杀进程,否则 IDE 里的运行状态会残留,导致下次启动时报端口被占。
6.6 常见错误速查表
最后整理一张速查表,日常报错按表对照着排查,比抓瞎强得多。
| 报错现象 | 常见原因 | 处置思路 |
|---|---|---|
| Error: java: 无效的源发行版 | SDK、Language Level、compiler 版本不一致 | 统一三处 Java 版本 |
| 编码GBK的不可映射字符 | 源码编码与编译器编码不匹配 | 全局 UTF-8 + 编译器加 -encoding utf-8 |
| 控制台中文乱码 | 输出编码与终端编码不一致 | Edit Custom VM Options 加 -Dfile.encoding=UTF-8 |
| Maven 依赖一直报红 | 镜像不可用或本地仓库有 lastUpdated 损坏文件 | 换镜像源、删 lastUpdated 文件、重新刷新 |
| Port 8080 already in use | 端口被其他进程占用 | netstat/lsof 查 PID 结束进程或改端口 |
| Run 按钮灰色 | 没设置 SDK 或没有 main 方法 | Project Structure 里指定 SDK,检查 main 方法 |
| Spring Boot 改了代码不生效 | DevTools 没加或自动编译开关没开 | 加 devtools 依赖,勾选 build automatically 和允许热部署 |
这套速查表是我在实际开发里反复踩坑之后整理出来的,基本覆盖了新手期会遇到的八成问题。遇到没见过的报错,第一反应是 Ctrl+Shift+A 搜功能名,或者选中报错代码按 Alt+Enter 让 IDEA 给修复建议,这两个操作比盲目百度高效得多。
最后分享一个我用了很久的习惯。新装 IDEA 之后,我不会急着建项目,而是先把一套"通用配置清单"过一遍:编码三件套、Maven 镜像、JDK 路径、Live Templates。这套基础配置花掉十来分钟,换来的是后面每开一个新项目都直接可用,不用每次从头折腾。另外,IDEA 里很多功能入口藏在右键菜单和 Alt+Enter 里,遇到不会的操作第一反应是搜索功能名,而不是满菜单翻找,这个习惯能极大缩短上手时间。希望这篇简化版能帮你少走点弯路。
