ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

IntelliJ IDEA 2022 安装配置与工具链集成

IntelliJ IDEA 2022 安装配置与工具链集成 1. 先把版本和授权这两件事定下来IntelliJ IDEA 的安装与配置这件事看上去就是下一步下一步但真正做项目的人都知道装完之后那一堆设置才是决定你后面半年心情的关键。我这两年帮同事装过大概十几台机器从 Windows 到 macOS从纯 Java 后端到 Android 客户端同一个 IDEA装法差别其实不小。这篇文章把 2022 年这一代版本的安装与配置捋一遍包括版本选择、JDK 规划、Maven 和 Git 的落地配置、Tomcat 的集成以及我踩过的那些坑。刚入行的、从 Eclipse 或者 VS Code 转过来的、想给团队做一套标准配置的同学都可以直接照着走。先说一句很实在的话IntelliJ IDEA 2022 这一代是整个 IDEA 历史上比较稳的一个分支。2022.1、2022.2、2022.3 三个小版本迭代下来中文界面完善了内置的 JetBrains Runtime 也换到了 17对 Java 17 的语法支持相当到位。为什么强调2022这个时间点因为这一代版本对机器内存的要求比 2019、2020 那几代高一截很多老笔记本装完之后卡得让人想砸键盘问题往往不在 IDEA 本身而在前面的规划没做好。1.1 社区版和旗舰版到底该装哪个打开官网下载页第一眼会看到两个入口IntelliJ IDEA Community社区版和 IntelliJ IDEA Ultimate旗舰版。这两个不是阉割版和完整版的简单关系功能边界的差异非常具体。社区版是免费开源的Apache 2.0 协议功能上覆盖了纯 Java、Kotlin、Groovy、Scala 的一部分支持Maven、Gradle、Git 这些都带代码补全、重构、调试、单元测试一应俱全。如果你做的是 Spring Boot 之外的东西比如纯 Java 工具库、Android 开发Android Studio 本来就是基于 IDEA 社区版做的、Kotlin 后端社区版完全够用。旗舰版是付费的多出来的是框架级支持Spring / Spring Boot 的全套支持Bean 依赖图、Autowired 跳转、application.yml 提示、Java EE / Jakarta EE、数据库工具 DataGrip 那套能力、HTTP Client、JavaScript / TypeScript / Vue / React 的前端支持、Docker、Kubernetes、远程开发、以及最关键的——原生的 Tomcat / Jetty / WildFly 集成。这里要划重点很多教程不会说清楚只有旗舰版才有原生的应用服务器集成。你要是用社区版做传统 Java Web 项目war 包部署到 Tomcat 那种在 Run/Debug Configurations 里是找不到 Tomcat 选项的。社区版的解法是装一个叫 Smart Tomcat 的第三方插件配置方式略有不同后面我会单独讲。授权这块只讲正规路径。旗舰版提供 30 天全功能试用试用期结束后可以按年或按月订阅在校学生和教师可以凭学校邮箱或学信网材料申请免费的教育授权每年续期一次开源项目的维护者也可以申请免费授权。公司里用的一般走企业订阅公司会统一分配账号。企业版订阅还有一个好处是可以使用 JetBrains 的 License Server团队内统一管理授权不用每台机器单独登录。我个人给新人的建议是先明确你要做什么再决定装哪个版本。学习 Java 语法、刷算法题、写 Spring Boot 单体应用社区版起步完全没问题但只要你工作里要碰 JSP/Servlet 传统项目、要连数据库写 SQL、要联调 Vue 前端旗舰版基本是刚需早点申请教育授权比后面折腾强。1.2 装之前先把环境盘一遍装 IDEA 之前有三样东西要先确认不然后面一定会返工。第一是 JDK。IDEA 2022.x 自带的 JetBrains Runtime 是 JDK 17它自己跑在 17 上但这跟你项目用什么 JDK 是两码事。你可以让 IDEA 自己跑在 17项目编译用 JDK 8这完全不冲突。但你要提前想清楚手头项目需要哪几个版本。我的习惯是装三个JDK 8老项目、JDK 11主流 LTS、JDK 17新项目。装在同一个目录下比如D:\dev\jdk\jdk1.8.0_341、D:\dev\jdk\jdk-11.0.17、D:\dev\jdk\jdk-17.0.5千万不要用默认的C:\Program Files\Java那路径里有空格某些构建工具处理起来会出幺蛾子。第二是内存。IDEA 2022 默认的最大堆是 2048MB一个中型项目跑起来经常吃到 1.5G 以上再加上 Chrome、数据库客户端、Docker16G 内存的机器会比较紧张。建议物理内存 16G 起步32G 更舒服。如果你只有 8G老老实实用社区版并且把 Chrome 标签页关一关不然索引建到一半就开始疯狂读磁盘。第三是磁盘和路径。IDEA 的索引、缓存、日志默认放在用户目录下Windows 是C:\Users\你的用户名\AppData\Local\JetBrainsmacOS 是~/Library/Caches/JetBrains。一个大型多模块项目的索引能到 1G 到 3G如果你 C 盘紧张后面会很难受。这个可以在启动时通过配置文件或者idea.properties改到别的盘我在第 3 节会讲具体怎么改。提示安装路径本身不建议放在中文目录或带空格的目录下。虽然近几年 IDEA 对中文路径的兼容性好了很多但 Maven、Gradle、某些插件的脚本里还是偶发路径解析问题一开始就避开省得后面排查。2. 安装过程里的每一个选择都要有理由下载环节没什么好多说的走官网的下载页选对应系统的安装包。Windows 有.exe和免安装的.zip两种macOS 是.dmgLinux 是.tar.gz或者 Snap 包。这里我想强调的是安装向导里那几屏的选择很多人一路下一步装完之后才发现菜单右键没图标、.java文件被别的编辑器抢走了。2.1 安装包类型和下载渠道的取舍Windows 平台上我推荐下.exe安装版理由是它会自动帮你创建开始菜单项、可以勾选关联文件类型、可以加到右键菜单卸载也干净。.zip免安装版适合这几类情况公司电脑没有管理员权限、需要同时装多个版本做对比、想放在移动硬盘里随身带。免安装版解压后直接跑bin\idea64.exe就能用缺点是系统集成全靠手动文件关联、右键菜单都得自己配。下载完之后如果你是从别处拿到的安装包建议核对一下文件大小和官方给出的信息。安装包一般 600MB 到 1GB 之间旗舰版比社区版大因为内置的插件多。这个动作看着多余但一旦装到损坏的包报错信息往往非常诡异比如解压到一半提示CRC error白白浪费半小时。macOS 用户要注意芯片架构。M1/M2 的机器下 Apple Silicon 版本Intel 机器下 Intel 版本。虽然 Apple Silicon 版本能通过 Rosetta 跑 Intel 版但索引速度会慢一截而且内存占用更高没必要。Linux 用户如果用.tar.gz解压后建议把bin目录加到 PATH或者建一个软链接到/usr/local/bin/idea这样终端里敲idea .就能用当前目录打开项目这个习惯养成了会极大提升效率。2.2 安装向导每一屏的取舍逻辑Windows 的安装向导有几个关键屏逐个说。第一屏是安装路径。默认是C:\Program Files\JetBrains\IntelliJ IDEA 2022.x。如果你的 C 盘是 SSD 而且空间充足用默认就行如果 C 盘紧张改到 D 盘或者 E 盘。注意这里改的是程序安装目录不是配置和索引目录配置和索引还是在用户目录下。第二屏是一堆复选框这屏信息量最大选项建议理由Create Desktop Shortcut勾选桌面图标方便快速启动Update PATH Variable勾选命令行可用idea命令打开项目Update Context Menu按需加了之后右键文件夹有Open Folder as ProjectCreate Associations按需关联.java、.kt、.gradle等文件类型Update Context Menu这个选项很多人纠结。加了之后在任意文件夹右键都能直接当项目打开调试单个 Java 文件的时候很方便但如果你同时装了 Eclipse 或者 VS Code 并且也做了关联右键菜单会变长。我的做法是加上因为我确实经常需要临时打开一个目录看代码。Create Associations要谨慎一点。如果你机器上已经有别的编辑器在处理.java文件比如某些教学环境关联之后双击 Java 文件会直接启动 IDEA而 IDEA 启动是有点重的看一个小文件要等十几秒体验反而差。这种情况我建议不关联用文件夹右键打开项目的方式。第三屏是开始菜单文件夹名无所谓保持默认即可。之后就是解压和写入文件大概一到三分钟。安装完成后向导会问要不要立即运行第一次建议勾选立即运行走一遍初始化向导。2.3 首次启动向导的每一步都别乱点第一次启动 IDEA会依次出现几屏配置。第一屏是导入已有配置。如果你是全新安装选Do not import settings。如果你是从旧版本升级或者之前用过 IDEA 想复用主题和快捷键可以选导入指定旧版本的配置目录。这里有个小坑跨大版本导入配置比如从 2019 导到 2022有时候会带进来不兼容的插件配置导致启动报错所以跨大版本我一般选不导入后面手动配置。第二屏是主题选择。Dark 还是 Light 纯属个人习惯但有一点要注意暗色主题下看代码的对比度更舒服长时间盯着不累但截图给别人看的时候可能不清楚。我自己的选择是 Dark然后调了一下字体大小到 15px、行高 1.2这个后面在设置里改。第三屏是插件预装选择。IDEA 会根据你的使用习惯推荐一批插件比如 Maven、Gradle、Git、Docker、Terminal 这些默认勾选的都不用动。有一屏会推荐安装一些特色功能插件比如学习工具、IDE Features Trainer这些可以选择跳过需要的时候再装装多了拖慢启动。第四屏是许可证也就是登录或输入授权信息的界面。这里根据自己的授权方式操作就行教育授权登录学校账号公司订阅登录公司分配的账号。如果暂时不想处理选试用也可以30 天内功能不受限但这个提醒是给真要长期用的同学早点把授权搞定别等到试用期最后一天急着赶项目。走完向导就进入欢迎界面了。欢迎界面左侧是最近项目列表右侧是 New Project / Open / Get from VCS 三个入口。到这里安装部分算是完了真正的工作才刚开始。3. 核心配置让 IDEA 从能用变成好用装完就用的 IDEA 和配置过的 IDEA效率差距大概在一倍以上。这一节我按配置的优先级来排从必做的 JDK 配置到编码、内存这些容易忽略但影响很大的项再到编辑器层面的效率设置。3.1 JDK 与项目结构配置的完整流程这是所有配置里最核心的一步也是最容易出错的一步。第一步全局 SDK 配置。在欢迎界面右下角点Configure→Structure for New Projects新版本叫Project Structure的全局版进到Platform Settings→SDKs。点号选Add JDK然后定位到你 JDK 的安装根目录比如D:\dev\jdk\jdk-17.0.5。注意这里选的是根目录不是bin目录也不是jre目录。选对了 IDEA 会自动识别出版本号选错了会提示The selected directory is not a valid home for JDK。三个 JDK 都按同样方式加进来然后给它们起清晰的名字。IDEA 默认会用1.8、11、17这种名字我建议改成JDK8、JDK11、JDK17一眼能认出来。这个动作看着小但当你项目多起来Project Structure 里翻半天找哪个是哪个的时候就知道命名规范有多重要了。第二步在Platform Settings→Global Libraries里可以定义全局依赖库比如你常用的第三方 jar 包。这一步是可选的有需要再加。第三步打开具体项目之后的Project Structure快捷键CtrlAltShiftS。这里有五个页签每个都有用Project设置项目级的 SDK 和 Language level。Language level 要和 SDK 对应比如 JDK 17 对应17 - Sealed types, always-strict floating-point semantics。如果你在这里选了8 - Lambdas, type annotations etc.那么即使你用 JDK 17 编译语言特性也只能用到 Java 8 的这是个很隐蔽的坑。Modules每个模块的 SDK、Language level、依赖。多模块项目里模块可以有不同的 SDK。Libraries项目依赖的 jar 包和库。Facets框架相关的配置比如 Spring、Web 的 web.xml 位置。旗舰版做 Web 项目时这里要配。Artifacts打包产物的定义war 包、jar 包、exploded 包都在这里配。关于 Language level我要多说一句。很多同学遇到java: 找不到符号或者无效的源发行版: 17这类编译错误百分之九十的原因是这三处的 Java 版本不一致Project Structure里的 Project SDK、Modules 里的 Language level、以及 Maven 的pom.xml里的maven.compiler.source/target。这三处必须对齐我自己在排查这类问题时习惯是直接全局搜一遍1.8、11、17这些数字看看有没有漏改的地方。注意改了Project Structure里的配置后如果项目还在报错执行一次Build→Rebuild Project。IDEA 的增量编译偶尔会缓存旧的编译产物重建一次能解决大部分莫名其妙的红字。3.2 编码、内存和几个必改的默认项编码统一成 UTF-8。路径是File→Settings→Editor→File Encodings。三个下拉框Global Encoding、Project Encoding、Default encoding for properties files全部改成UTF-8然后把Transparent native-to-ascii conversion勾上。最后这一项特别关键它管的是.properties文件里的中文。Spring Boot 的application.properties里写中文如果不勾这个读取的时候会变成乱码。这个坑我在很多同事身上见过明明文件里看着是用户名运行起来变成ç¨æ·å排查半天才发现是编码设置。控制台编码。在Settings→Build, Execution, Deployment→Compiler→Java Compiler里Additional command line parameters 可以加上-encoding utf-8。另外在运行配置的 VM options 里加-Dfile.encodingUTF-8能解决 Windows 控制台输出中文乱码的问题。内存调整。路径是Help→Change Memory Settings直接填最大值单位 MB。我一般给 409616G 内存的机器或 819232G 内存。这个设置会写进idea64.exe.vmoptions文件重启生效。判断该给多少有个简单办法开一个大项目打开Help→Diagnostic Tools→Show Memory Indicator右下角会显示当前内存占用如果长期贴着上限就往上加 1G 再看看。关闭一些自作聪明的功能。比如Settings→Editor→General→Code Completion里的Show suggestions as you type关上之后补全靠CtrlSpace手动触发对索引负担小一些。还有Settings→Editor→General→Auto Import里的Add unambiguous imports on the fly建议打开它会自动帮你 import 那些没有歧义的类省掉大量AltEnter。优化 imports。Settings→Editor→Code Style→Java→Imports设置Class count to use import with *为 99 或者更大避免 IDEA 自动把一堆 import 折叠成import java.util.*团队协作时这种变化会让 diff 很难看。文件保存与自动格式化。Settings→Tools→Actions on Save勾上Reformat code和Optimize imports这样每次保存自动整理格式和清理无用的 import。团队里如果有人没配代码风格就会打架这个建议直接在团队规范里写死。3.3 索引目录和缓存的迁移前面提到过IDEA 的索引和缓存默认在 C 盘。大项目索引几个 GC 盘告急是常态。迁移方法是在 IDEA 的安装目录bin下找到idea.properties文件用文本编辑器打开找到这两行默认是注释掉的# idea.config.path${user.home}/.IntelliJIdea/config # idea.system.path${user.home}/.IntelliJIdea/system去掉注释改成你想要的路径例如idea.config.pathD:/dev/idea-data/config idea.system.pathD:/dev/idea-data/system idea.plugins.pathD:/dev/idea-data/plugins idea.log.pathD:/dev/idea-data/log四行都改保持统一。注意路径分隔符用正斜杠/不要用反斜杠Windows 下反斜杠在这个文件里会被当转义字符处理。改完之后第一次启动会重新初始化配置之前的所有设置都要重来一遍所以我的建议是装完 IDEA 还没做任何配置之前就先改这个一步到位。这个文件在 macOS 和 Linux 下也能用macOS 的路径是/Applications/IntelliJ IDEA.app/Contents/bin/idea.properties注意这个位置在应用包内部升级 IDEA 的时候会被覆盖所以升级后要记得再改一次。3.4 快捷键和编辑器效率配置快捷键是 IDEA 的招牌但默认键位有两套Windows 的Default和 macOS 的macOS。如果你是 Windows 用户装了 macOS 键位映射会很难受所以Settings→Keymap里先确认一下用的是哪套。我强烈建议掌握这几个比什么都管用快捷键作用使用频率CtrlShiftA查找任意动作万能极高ShiftShift全局搜索文件、类、符号、动作极高AltEnter快速修复 / 意图动作极高CtrlAltL格式化代码高CtrlAltO优化 imports高CtrlB/CtrlClick跳转到定义极高CtrlAltB跳转到实现高AltInsert生成 getter/setter/构造方法高CtrlAltShiftS打开 Project Structure中CtrlShiftF全局文本搜索高CtrlShiftA这个键是最值得练的任何你找不到的功能比如改字体大小切换主题重命名项目敲进去就能找到而且它会告诉你这个功能对应的快捷键是什么。用一个月下来常用快捷键自然就记住了。代码模板Live Templates也值得花十分钟配一下。Settings→Editor→Live TemplatesJava 分组里默认就有一堆比如sout生成System.out.println()psvm生成 main 方法fori生成 for 循环。我额外加了两个常用的logi生成log.info({}, )test生成一个带Test注解的测试方法。这种小工具一年下来能省几个小时。4. 工具链集成Maven、Git 和 Tomcat 的落地配置到这一节IDEA 本身已经配好了但它是个空壳真正干活靠的是外面那套工具链。Maven 管依赖和构建Git 管版本Tomcat 管运行环境三样东西的配置都跳过的话项目是跑不起来的。4.1 Maven 的三处配置和镜像加速Maven 的配置分两块一块在 Maven 自己的settings.xml里一块在 IDEA 的设置里。先配置settings.xml。这个文件的默认位置有两处一般放~/.m2/settings.xmlWindows 用户目录下优先于 Maven 安装目录的conf/settings.xml。我习惯改后者因为团队里统一用同一个安装包的可以直接拷贝这份配置。里面要配三样东西。第一是本地仓库位置默认在~/.m2/repositoryC 盘紧张的改到别的盘localRepositoryD:/dev/maven-repo/localRepository第二是镜像仓库。默认走中央仓库下载速度有时候会卡加速的方式是配置国内镜像mirrors mirror idaliyunmaven/id mirrorOf*/mirrorOf namealiyun public/name urlhttps://maven.aliyun.com/repository/public/url /mirror /mirrorsmirrorOf填*表示所有仓库请求都走这个镜像填central表示只代理中央仓库。团队里如果有自己的私服比如 NexusmirrorOf可以填*,!my-repo把私服排除掉。第三是JDK 版本在profiles里配profile idjdk17/id activation activeByDefaulttrue/activeByDefault jdk17/jdk /activation properties maven.compiler.source17/maven.compiler.source maven.compiler.target17/maven.compiler.target maven.compiler.compilerVersion17/maven.compiler.compilerVersion /properties /profile然后是 IDEA 里的配置。Settings→Build, Execution, Deployment→Build Tools→Maven三个地方要改Maven home path选你自己装的 Maven 目录不要用 IDEA 自带的 Bundled (Maven 3)。自带的版本跟命令行不一致的时候会出现命令行能编译、IDEA 报错的诡异现象。User settings file勾上Override指向你的settings.xml。Local repository确认它跟settings.xml里配的一致不一致的话 IDEA 读的还是旧的仓库地址。同一页签底下的Runner里VM Options建议填-Dmaven.wagon.http.ssl.insecuretrue -Dmaven.wagon.http.ssl.allowalltrue这是给 SSL 证书链路异常的环境用的能避免一部分下载依赖失败的问题。旁边还有个Importing页签勾上Automatically download的Sources和Documentation后面看源码和文档方便很多。注意改完 Maven 配置一定要刷新一下项目。右键pom.xml→Maven→Reload project或者点右侧 Maven 面板的刷新按钮。不刷的话 IDEA 用的还是旧配置改了等于没改。4.2 Git 集成的配置与提交前检查Git 本身的安装流程走默认下一步就行需要注意的只有两处默认分支名建议选main新规范行结束符转换选Checkout Windows-style, commit Unix-style line endings。IDEA 里配置 Git 的路径是Settings→Version Control→Git。Path to Git executable一般会自动识别如果显示空白点右边的文件夹图标手动定位到git.exeWindows或/usr/bin/gitmacOS然后点Test按钮弹出 Git 版本号说明配置成功。接下来是几个必须调的地方。忽略文件。Settings→Editor→File Types→Ignore files and folders加上这些*.iml;.idea;target;.git;.svn;.DS_Store;node_modules;logs;*.log;*.class.idea目录要不要提交到 Git其实有争议。现在的通行做法是不提交大部分但保留codeStyles、inspectionProfiles这类团队共享配置。我个人的做法是把.idea整个加进.gitignore团队统一用checkstyle之类的独立工具管规范避免每个人每个版本的 IDEA 生成的.idea文件互相打架。提交前检查。Settings→Version Control→Commit这里有个Before commit区域可以勾上Reformat code、Optimize imports、Analyze code、Check TODO。我一般勾前两个和Analyze code能在提交前把明显的问题挡掉。Git 的历史查看。装一个GitToolBox插件能在代码行后面显示这行是谁什么时候改的排查问题时非常方便不用每次去翻 blame。这个插件在插件市场直接搜就能装。4.3 Tomcat 的集成方式与社区版替代方案这一节要分两种情况讲因为社区版和旗舰版的差异在这里最明显。旗舰版Run→Edit Configurations→ 左上角→ 选Tomcat Server→Local。然后在Server页签里点Configure定位到 Tomcat 的安装根目录。接着到Deployment页签点→Artifact选你要部署的 war 或者 war exploded。这里有个经验开发调试阶段一定选war exploded改了 JSP 或者静态资源可以热更新不用每次重新打包只有最终验证的时候才用war包。应用上下文路径Application context在Deployment页签下面默认是/artifact名字想改成根路径就填/这样访问就是http://localhost:8080/而不是http://localhost:8080/xxx_war_exploded。社区版没有原生的 Tomcat 集成。替代方案是装Smart Tomcat插件Settings→Plugins→ 搜Smart Tomcat安装后重启。装完之后Edit Configurations里就会出现Smart Tomcat选项配置思路和旗舰版差不多指定 Tomcat 目录、指定webapp目录、指定classes编译输出目录。这个插件的工作原理是启动 Tomcat 的时候把它指向你的编译产物效果上跟原生集成接近但热部署能力弱一些改 JSP 有时需要手动重启。顺带说一句 Tomcat 版本的匹配。Tomcat 8.5 对应 Servlet 3.1Tomcat 9 对应 Servlet 4.0Tomcat 10 之后包名从javax.servlet换成了jakarta.servlet这是个大改动。如果你的项目还是javax.servlet那一套千万别用 Tomcat 10启动就会报ClassNotFoundException。这是新手最常踩的坑之一很多人从官网下了个最新版 Tomcat 10然后项目死活起不来。5. 常见问题与排查实录这部分是我这些年攒下来的实战记录按问题类型分组遇到对应的直接对照查。5.1 启动、索引和性能类问题问题一启动特别慢欢迎界面卡好几分钟。排查顺序是这样先看是不是插件装太多了。Settings→Plugins→Installed把明确不用的禁掉比如你用不到 Docker、Kubernetes、Android 相关插件全部禁用重启一次能快不少。再看内存设置Help→Change Memory Settings是不是还停在 2048。最后看idea.properties里索引目录是不是在机械硬盘上如果在迁到 SSD 会有明显改善。问题二索引一直 Building进度条不动。先看右下角的状态如果是卡在某个具体文件上多半是那个文件太大或者有语法错误。常见元凶是前端项目里的node_modules或者被误加进源码目录的大日志文件。解决办法是在Project Structure→Modules里把node_modules这类目录标记为Excluded橙色。如果索引进度条完全不动先File→Invalidate Caches→ 勾上Clear file system cache and Local History→Invalidate and Restart。这个操作会重建所有缓存第一次重启后索引会慢但之后正常。这是 IDEA 出问题时的万能第一招。问题三Metaspace 溢出。报错是java.lang.OutOfMemoryError: Metaspace。这个是元空间不够跟堆内存是两码事。改法是编辑idea64.exe.vmoptions加一行-XX:MaxMetaspaceSize1024m一般 1024m 够了特别大的项目给 2048m。这个文件的位置在Help→Edit Custom VM Options打开的就是正确的那个直接在里面加即可。5.2 编译、依赖和运行类问题问题四java: 无效的源发行版: 17。前面说过三处版本不一致导致的。检查清单Project Structure→ Project → SDK 和 Language level同页签 Modules → Sources → Language levelpom.xml里的maven.compiler.source和targetMaven 的settings.xml里的 profile。四处对齐问题解决。问题五依赖下载不下来Maven 一直在转圈。分步排查。第一步确认镜像配置生效Settings→Build Tools→Maven→Repositories看列表里的 URL 是不是阿里云或者你的私服地址。如果不是说明settings.xml没被读取检查User settings file的路径对不对。第二步看本地仓库里是不是已经有半截的下载文件repository目录下如果有.lastUpdated后缀的文件删掉重下。第三步看网络公司内网如果需要走 HTTP 代理要在settings.xml的proxies里配。问题六运行时报Port 8080 was already in use。端口被占了。Windows 下用netstat -ano | findstr :8080找到进程 PID再用任务管理器结束进程macOS 和 Linux 用lsof -i :8080然后kill -9 PID。如果是 Tomcat 自己残留的 java 进程直接在 IDEA 里点停止按钮不一定能杀掉得手动结束进程。这类问题快速排查的对照表报错信息大概率原因处理方式无效的源发行版三处 Java 版本不一致对齐 SDK、Language level、pom找不到符号模块依赖没配 / 缓存脏检查 Module DependenciesRebuild端口被占用进程残留netstat / lsof 找 PID 后结束ClassNotFoundException: javax.servletTomcat 10 与旧项目不兼容换 Tomcat 9 及以下中文乱码编码设置不统一File Encodings 全改 UTF-8依赖下载失败镜像未生效 / 缓存损坏检查 settings.xml清 lastUpdated索引卡死大目录未排除 / 缓存损坏标记 ExcludedInvalidate Caches5.3 插件与外部环境类问题问题七插件市场打不开搜索转圈。先确认是整个网络问题还是只有插件市场的问题。可以在浏览器里访问一下 JetBrains 的插件页面如果能打开说明是 IDEA 的问题试试File→Invalidate Caches重启。如果浏览器也打不开那可能是公司网络策略限制这时候的稳妥做法是下载离线插件包在能够访问的机器上下载.zip格式的插件然后在Settings→Plugins→ 齿轮图标 →Install Plugin from Disk手动安装。这个方式在隔离网络环境里很常用。问题八社区版装了 Smart Tomcat启动报找不到web.xml。检查 Project Structure → Facets 里有没有加 Web facet以及Web Resource Directory指向的路径对不对。社区版做传统 Web 项目确实比旗舰版麻烦要手动配 Artifacts 和 Facets。如果你的工作长期是这类项目认真考虑一下申请旗舰版的教育授权或公司订阅能省很多折腾。问题九改了代码重启后没生效。三种可能。一是改的是被标记为Excluded的目录IDEA 根本不编译它。二是 Maven 的target目录里是旧产物右键Rebuild Project。三是 Tomcat 的On frame deactivation设置没开在 Run Configuration 的 Server 页签里把On Update action设置成Update classes and resourcesOn frame deactivation设置成Update classes and resources切出去再切回来就自动部署了。最后说几个我认为价值最高的使用习惯属于文档里不会写但实际很管用的那种。第一遇到任何 IDEA 的怪问题先Invalidate Caches重启这一招能解决大概四成的问题比到处搜答案快得多。第二装完 IDEA 的第一件事是把idea.properties的索引路径改到 SSD别等到 C 盘红了才想起来。第三团队协作项目的pom.xml里明确写死maven.compiler.source和target不要让语言级别依赖开发者的本地设置这是避免我这儿能跑你那儿报错最有效的一招。至于.idea目录到底提交不提交、Tomcat 用 9 还是硬上 10、社区版能不能撑住日常开发这些都没有标准答案取决于你的项目形态和团队习惯。我自己的经验是能用旗舰版就用旗舰版能上 SSD 就上 SSD能提前统一配置就别拖到出问题再补这三句话基本能覆盖掉大部分折腾。
返回列表