ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Eclipse 2020-06与JDK 1.8环境配置全攻略:从安装到排错

Eclipse 2020-06与JDK 1.8环境配置全攻略:从安装到排错 Eclipse 2020-06也就是老开发嘴里常说的 4.16 版本几乎可以说是所有守着 JDK 1.8 的项目组最后的舒适区。别问我为什么知道——公司里那套跑了六七年的老系统升级又不敢升级换 IDE 也不现实最后折腾一圈还是会灰头土脸地装回 2020-06。这篇文章不聊高深理论只讲实操从 JDK 1.8 部署、Eclipse 2020-06 安装到 Tomcat、Maven、MySQL、Git 配套再到汉化、插件、常见报错排查整个流程一次性捋清楚。适合谁看还在用 JDK 1.8 做维护的老兵、跟着老教程上课的学生以及被公司技术栈绑死的打工人。1. 为什么选 2020-06这个版本到底特殊在哪1.1 Eclipse 版本机制与 2020-06 的定位Eclipse 从 2018 年开始放弃了 Mars、Neon、Photon 这种代号改用年份和后缀月份命名比如 2020-06 就是 2020 年 6 月份发布的版本对应平台版本号是 4.16。版本号听起来复杂但核心结论只有一个很多老项目、老教材、老网上教程默认的开发环境就是 JDK 1.8而 Eclipse 2020-06 是公认的与 JDK 1.8 配合最顺滑的版本节点之一。大家口口相传的“最后一版支持 JDK 1.8”准确说是指 IDE 自身运行在 JDK 1.8 环境下很稳定同时用它开发、编译、调试 JDK 1.8 项目的体验也最好。从 2020-09 开始Eclipse 官方逐步把 IDE 自身运行所需的 JVM 版本基线往上提也就是说你想让新版 IDE 跑起来得给它配一个更高版本的 JDK。对很多老项目来说开发机装太多 JDK 本身就是隐患部署环境、构建脚本、Maven 配置全按 1.8 写死了犯不着为一个 IDE 去冒风险。1.2 谁还在守着 JDK 1.82020-06 适合哪些人说实话还在折腾 JDK 1.8 的人大部分不是不想升级而是升不动。我见过的情况大概这么几类。老系统维护公司内部系统跑了好多年数据库驱动、中间件版本、第三方 Jar 全是老古董没人敢拍板升 JDK。新招的同事想接手第一步就是把 JDK 1.8 环境搭起来。教材和课程很多高校教材、培训机构视频还是基于 JDK 1.8 写的学生照着操作装最新版 Eclipse 反而连不上老师的示例工程。特定技术链比如某些老版本的 Hadoop、Activiti 工作流、HBase 等工具链官方文档明确要求 JDK 1.8强行用新版本会踩到一堆莫名其妙的坑。低配电脑和轻量需求JDK 1.8 内存占用相对小Eclipse 2020-06 在 4GB 内存的旧电脑上还能流畅跑新版 IDE 动不动就吃 1GB 起步老机器确实吃不消。1.3 从哪下载老版本官方入口与版本包选择Eclipse 官网的下载页现在被新版本占领了找老版本别直接点首页的大按钮要进 archive 或者 release 目录。我的习惯是直接访问https://www.eclipse.org/downloads/packages/release/2020-06/r这个页面它对应 2020-06 的最终修订版。打开页面之后会看到一堆安装包新手容易纠结。按照用途选就行包名适合场景我的建议Eclipse IDE for Enterprise Java and Web DevelopersJava Web 开发、Servlet、JSP、Spring 项目最推荐自带 Tomcat Server 适配、Maven 支持Eclipse IDE for Java Developers纯 Java 基础学习、Swing/控制台项目轻量但后续配 Web 开发还要手动加插件Eclipse IDE for Java EE Developers老教程里常见的 Java EE 开发包如果是翻老教程就选这个别纠结下载时注意区分操作系统Windows 选 x86_64 版本macOS 选 mac 对应的 64 位包Linux 选 Linux x86_64。如果你的电脑还是 32 位系统这类老版本可能是你最后能尝试的选择之一下载列表里留意不带 x86_64 字样的包。国内下载速度不理想的话可以去清华、华为云等镜像站找 eclipse 目录但注意镜像站的同步可能滞后版本路径要仔细对一下。我的建议还是先把官网下载链接复制下来再配合下载工具一般十分钟内能搞定。2. JDK 1.8 部署与验证Eclipse 能不能启动九成看这里2.1 JDK 1.8 下载避坑指南Eclipse 本身不携带 Java 环境它只是一个运行在 JVM 上的程序。所以第一步永远是先装 JDK 1.8。下载 JDK 1.8 有两个坑一个是官网入口难找另一个是安装包版本选择。Oracle 官网下载 JDK 8 需要注册 Oracle 账号页面在https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。如果你不想注册或者公司网络环境访问不了可以考虑两条替代路线一是用 OpenJDK 的发行版比如 AdoptiumEclipse 社区维护的 Java 发行版网站是https://adoptium.net下载 Temurin 8二是用 Azul Zulu 的 JDK 8 版本。这些发行版不仅免费而且在国内下载速度往往比 Oracle 官网还快功能上完全够日常开发用。版本号选择上如果没什么特殊限制选 8u202 以上即可最新到 8u4xx 都行。但注意一点从 8u211 开始Oracle 调整了许可协议如果你的公司有合规要求更稳妥的做法是直接用 Adoptium 或 Zulu。别去下载什么绿色精简版、免安装版那些东西经常缺东少西最后排查问题累死你。2.2 环境变量配置JAVA_HOME 和 PATH 一个不能少JDK 安装完要配环境变量。很多初学者把这一步想得太复杂其实核心就两个变量。Windows 下的操作路径右键“此电脑” - 属性 - 高级系统设置 - 环境变量。在系统变量区新建JAVA_HOME值填 JDK 的实际安装路径比如C:\Program Files\Java\jdk1.8.0_202然后在Path变量里追加一行%JAVA_HOME%\bin这里有两个细节值得注意。第一Path里的条目要放在比较靠前的位置因为如果系统里装了多个 Java 版本谁靠前谁优先。第二JAVA_HOME不要以反斜杠结尾也不要在 Path 里给%JAVA_HOME%\bin加引号否则某些命令行脚本会解析出问题。macOS 和 Linux 下我习惯修改~/.bash_profile或~/.zshrcexport JAVA_HOME$(/usr/libexec/java_home -v 1.8) export PATH$JAVA_HOME/bin:$PATH改完后执行source ~/.bash_profile让配置立即生效。Linux 系统如果没有/usr/libexec/java_home就手动把JAVA_HOME指向解压后的 JDK 目录。2.3 验证 JDK 是否装好环境变量配完之后打开一个全新的命令行窗口依次执行下面两条命令java -version javac -version如果输出里有1.8.0_xxx字样并且javac也能正常打印版本号说明 Java 环境没问题。如果java -version能显示但不是 1.8比如显示的是 17、21说明Path里排在前面的还是新版 JDK回去按 2.2 节的步骤调整顺序。提示关于 CLASSPATH现在完全可以不配置。老教程里让配.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar那是 JDK 1.4/1.5 时代的老黄历了。JDK 1.8 下不设 CLASSPATH 反而能避免很多诡异问题比如写错路径导致编译报错。这个坑我踩过配了之后经常出现“找不到或无法加载主类”的提示清空反而正常。3. Eclipse 2020-06 安装与首启配置3.1 解压即安装目录选择有讲究Eclipse 2020-06 的安装包通常是.zip或.tar.gz下载后解压到本地就能用不需要执行安装程序。这里我只提醒一个点解压路径不要出现中文不要带空格。举个例子解压到D:\eclipse没问题但解压到D:\软件\eclipse或者C:\Program Files\eclipse后续配置 Tomcat、Maven、加载插件时可能会出现莫名其妙的路径解析问题。我的习惯是建一个专门放开发工具的目录比如D:\dev\里面放 eclipse、jdk、maven、tomcat各归各位环境变量也好写。解压完成后双击eclipse.exe启动。如果你在此之前已经正确配置了 JDK 1.8一般能正常进入欢迎页。如果你装了多个版本 JDK但系统默认 Java 是 17Eclipse 2020-06 有可能因为找不到合适的 JVM 而启动失败这时候靠下面的 eclipse.ini 配置来固定启动用的 JDK。3.2 workspace 选择与首启设置第一次启动会弹出一个对话框让你选择 workspace 目录也就是工程文件存放的根目录。很多人习惯一路默认但如果你 D 盘空间充足我还是建议把它改到非系统盘避免 C 盘爆炸。workspace 路径同样不要有中文和空格比如D:\workspace就行。勾选 “Use this as the default and do not ask again” 后以后启动就不会反复弹这个框。进入主界面后先别急着写代码我有几个必改的偏好设置。打开Window - Preferences在搜索框里输入encoding找到General - Workspace把Text file encoding从默认的 ISO-8859-1 改成 UTF-8找到Web - JSP Files等子项也改成 UTF-8。这一步不设置后面写中文注释、JSP 页面会乱码到怀疑人生。3.3 eclipse.ini 关键参数调优在 Eclipse 安装目录下有一个名叫eclipse.ini的配置文件双击或用记事本打开。它决定了 JVM 的启动参数很多闪退、卡顿问题都出在这里。先看一个典型的配置片段-startup plugins/org.eclipse.equinox.launcher_*.jar --launcher.appendVmargs -vm D:/dev/jdk1.8.0_202/bin/javaw.exe -vmargs -Xms256m -Xmx1024m -Dfile.encodingUTF-8注意-vm这一项它用来指定 Eclipse 到底用哪个 JDK 启动。很多人不知道-vm必须放在-vmargs之前而且要写成 javaw.exe 或 java 的完整路径不能只写目录。如果你遇到双击 Eclipse 没反应八成就是这个路径没写对或者没写。-Xms是初始堆大小-Xmx是最大堆大小。老电脑把-Xmx设成 1024m 就够用了别贪心设到 4096m机器内存不够反而会频繁 GC 卡死。内存大于 8GB 的机器可以设-Xms512m -Xmx2048m。有些教程会让你加-XX:PermSize和-XX:MaxPermSize这个在 JDK 1.8 里已经没用了。JDK 8 移除了永久代换成元空间你用老参数不但不生效还会在日志里刷一堆 warning。看到这篇文章的人正好是 JDK 1.8 环境别再套用 JDK 7 时代的老配方。另外如果你的 Eclipse 启动后界面字体发虚可以在-vmargs后面加一行-Dswt.autoScale100在 Windows 高分屏下能缓解缩放模糊的问题。4. 周边环境串起来Tomcat、Maven、MySQL、Git 的配套配置4.1 Eclipse 2020-06 配置 Tomcat从下载到启动一次过Eclipse 配置 Tomcat要先下载一个 Tomcat 安装包。JDK 1.8 的黄金搭档是 Tomcat 8.5 系列兼容性最好8.0 也有不少人用。如果你非要试试新版Tomcat 9 要求 JDK 8 起步硬要用也算能跑但 Tomcat 10 以后把 javax.servlet 改成了 jakarta.servlet老项目代码直接挂不建议折腾。下载 Tomcat 8.5 时选core下面的zip压缩包解压到D:\dev\apache-tomcat-8.5.xx。然后在 Eclipse 中操作。第一步打开Window - Preferences - Server - Runtime Environments点Add选择Apache Tomcat v8.5在弹出的对话框中把 Tomcat 安装目录选到刚才解压的位置JRE 选择你机器上的 JDK 1.8。这一步是为了告诉 Eclipse“我用的是哪个 Tomcat”。第二步切到Servers视图如果看不到这个视图通过Window - Show View - Other搜索 Servers在空白处右键选New - Server选择 Tomcat v8.5 并添加你的项目。第三步双击 Servers 视图里新建的 Server打开配置页。注意 Server Locations 这一项建议选 “Use Tomcat installation”这样启动和停止直接操作真实 Tomcat 目录避免 Eclipse 把项目部署到 workspace 的临时目录里导致 JSP 修改后不生效的问题。启动时如果控制台报“端口被占用”回到配置页把 HTTP port 改成 8081 或其他空闲端口即可。我见过最多的报错是“The selected server is enabled but is not configured properly”或者“Server Tomcat v8.5 Server at localhost failed to start”前者通常是 Runtime Environment 没配对后者多半是端口被占或 web.xml 写错。端口排查在 Windows 下用netstat -ano | findstr 8080查占用进程然后到任务管理器里结束对应 PID。4.2 Maven 3.6.3 安装与仓库镜像配置Maven 在 Java Web 项目里几乎绕不开。Eclipse 2020-06 自带了一个 m2e 插件也能直接生成 Maven 工程但如果你的项目里依赖很多第三方库建议还是装独立的 Maven自己控制配置更顺手。Maven 版本我推荐 3.6.3这是 JDK 1.8 时代最稳妥的版本下面的配置方式在 3.8.x 上同样适用但不要随便上 4.x新版对 JDK 版本有更高要求。下载解压后配置环境变量MAVEN_HOMED:\dev\apache-maven-3.6.3 Path 追加 %MAVEN_HOME%\bin命令行执行mvn -version能打印 version 和 Java version 1.8 就算成功。接下来改 Maven 的settings.xml路径在apache-maven-3.6.3/conf/settings.xml。这个文件直接决定了依赖从哪里下载。默认的 Maven 中央仓库在国内访问速度不稳定我一般会加一个阿里云镜像mirrors mirror idaliyun/id namealiyun public/name urlhttps://maven.aliyun.com/repository/public/url mirrorOfcentral/mirrorOf /mirror /mirrors同时可以修改本地仓库位置默认在C:\Users\你的用户名\.m2\repository。如果你的 C 盘空间紧张把它改到 D 盘localRepositoryD:\dev\maven-repo/localRepository改完之后到 Eclipse 里打开Window - Preferences - Maven - Installations点 Add选到本地 Maven 目录再在User Settings里把settings.xml指向刚才改过的文件。不配置这一步的话Eclipse 会用它内置的 Maven设置全白搭。4.3 JDBC 连接 MySQL 8 的驱动与连接串JDK 1.8 搭配 MySQL 8 是完全可行的前提是驱动版本别用太老的。过去用mysql-connector-java5.x 连接 MySQL 8会报Public Key Retrieval is not allowed或者握手失败所以建议直接用 8.0.x 系列驱动比如 8.0.28。用 Maven 最简单在 pom.xml 里加dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.28/version /dependency如果是手工导 jar把它放到 Web 项目的WEB-INF/lib下然后右键项目 - Build Path - Add to Build Path。写连接串时有朋友还在抄老教程里的jdbc:mysql://localhost:3306/dbname?useUnicodetruecharacterEncodingutf8这个在 MySQL 8 下容易出问题。我常用的连接串是这样String url jdbc:mysql://localhost:3306/你的库名?useSSLfalseserverTimezoneAsia/ShanghaicharacterEncodingutf8allowPublicKeyRetrievaltrue; Class.forName(com.mysql.cj.jdbc.Driver); Connection conn DriverManager.getConnection(url, root, 密码);注意驱动类名MySQL 8 新驱动是com.mysql.cj.jdbc.Driver不是旧的com.mysql.jdbc.Driver。serverTimezone必须设置否则数据库连接校验时间时会抛异常。useSSLfalse是为了本地开发时省去证书警告。4.4 EGit 拉取、切换与合并分支Eclipse 2020-06 自带 EGit不需要额外装 Git 插件但前提是系统里要先装 Git 客户端。Git 的安装配置很简单一路下一步然后配置全局用户名和邮箱git config --global user.name 你的名字 git config --global user.email youexample.com在 Eclipse 里从远程仓库拉取项目File - Import - Git - Projects from Git - Clone URI粘贴仓库地址填好账号密码按提示选分支、选目录导入完成后项目就会出现在 Project Explorer 里。切换分支的时候右键项目 -Team - Switch To - Other会列出远程所有分支选一个就能切过去。这里容易踩坑的是本地有未提交的修改切换分支时 EGit 会提示不能切换或者自动合并正确做法是先Team - Commit把改动提交了或Team - Stashes暂存起来再切分支。合并分支的操作也简单先把当前分支切到目标分支比如你想把 feature 分支合并到 master就先切到 master然后右键项目 -Team - Merge选择要合并进来的分支。如果出现冲突会进入冲突编辑器左边是本地内容右边是远端内容手动编辑后保存右键文件选择Team - Add to Index最后提交推送。5. 常用插件与离线安装套路汉化、Activiti、MAT、URL 定位5.1 汉化包离线安装也能搞定Eclipse 的汉化是很多新手的第一站。有人喜欢英文界面练专业术语有人看着英文头皮发麻都行这里讲方法。主流做法是走 Eclipse Babel 项目在Help - Install New Software的Work with里填写 Babel 的更新站点然后选择 Chinese (Simplified) 语言包安装。这个方案在线环境方便但缺点是比较慢而且 2020-06 这种老版本对应的语言包链接要仔细找对版本选错了装不上。我更推荐离线安装法。先去 Babel 官网找到与你 Eclipse 版本配套的语言包 zip 文件下载后解压到 Eclipse 安装目录下的dropins文件夹。比如解压后的内容应该是dropins/plugins和dropins/features。然后重新启动 Eclipse界面就变成中文了。如果你哪天想恢复英文把 dropins 下对应的目录删掉重启即可。这个离线方案的好处是干净、可逆、不污染在线插件列表。缺点是版本要匹配别拿 Eclipse 4.20 的语言包硬塞给 4.16大概率无效。5.2 Activiti 插件离线安装Archive 方式才是关键工作流引擎 Activiti 的老用户很依赖 Eclipse 里的 Designer 插件用来画 BPMN 流程图。但 Activiti 插件在 Eclipse 新版上兼容性一直一般而且官网更新缓慢于是“离线安装”就成了刚需。离线安装的前提是手上有一个插件压缩包通常是 update site 目录打成 zip里面包含features和plugins两个子文件夹。获取渠道可能是同事的网盘、公司内部共享盘或者是网上别人整理好的离线包但要注意在没有网络的环境下依赖关系必须靠离线包内自包含解决。操 作路径Help - Install New Software - Add - Archive选择本地 zip 文件然后勾选出现的插件项。安装时有一个必坑选项去掉 “Contact all update sites during install to find required software” 前面的勾。如果不勾掉Eclipse 会尝试联网找依赖而离线环境必然卡死。安装后如果菜单里看不到设计器别急着重装先检查Window - Preferences - Activiti里有没有配置成功。如果插件版本和 Eclipse 内核不兼容也没必要硬刚——新旧工作流项目可以用在线 BPMN 设计器处理或者直接不用插件用文本编辑器写 bpmn20.xml 也完全没问题只是可视化差一点而已。5.3 MAT 内存分析插件版本和 JDK 的匹配要看清eclipse mat是 Memory Analyzer Tool 的简称做 Java 堆分析、排查内存泄漏的利器。在 Eclipse 2020-06 上装 MAT最简单的方式是在Help - Install New Software里填官方更新站点地址https://download.eclipse.org/mat/latest/update-site/。但这里的坑在于MAT 更新站点里最新版底层的 JVM 依赖可能比 JDK 1.8 高。如果你这台机器只有 JDK 1.8装完后面分析 dump 文件可能报 Java 版本不支持。保险起见选一个老一点的 MAT 版本比如 1.10 或 1.11它们和 JDK 1.8 的兼容性更稳。安装完成后分析.hprof文件的流程是File - Open Heap Dump选堆转储文件然后等待解析。MAT 会生成一张泄漏分析报告点Leak Suspects可以看最有可能的内存泄漏点。这个工具对老项目维护很有用。我记得有一次系统上线后 frequent full GC用 MAT 一查发现一个静态 Map 在不停放缓存对象无人清理罪魁祸首一目了然。5.4 根据接口 URL 定位 Controller不需要花哨插件的土办法搜索热词里有一条很接地气“eclipse 有没有根据接口 url 定位 controller 的插件”。这是个常见的日常需求后端接口一大把领导微信上丢给你一个 URL让你找到对应 Controller 代码怎么快速定位其实最简单的方法不依赖插件。Eclipse 里按Ctrl H打开全局搜索选择File Search标签页Containing text里填入 URL 片段比如/api/user/list半段限定*.java工作集点击 Search。Eclipse 会一秒内列出所有引用了这个字符串的文件Controller 里的RequestMapping和GetMapping全部都露馅了。如果你知道 Controller 类名按Ctrl Shift T打开 Open Type输入类名敲回车直接跳进类里再用Ctrl O看当前类所有方法签名按 URL 后缀匹配。至于专门为“URL 定位 Controller”开发的新插件说实话我用下来感觉不如 CtrlH 快捷老版本 Eclipse 上兼容性也参差。与其加一个不稳定的插件还不如把系统自带的搜索功能用好。6. 高频报错与排查实录6.1 “找不到或无法加载主类 org.apache.catalina.startup.Bootstrap”这条报错是 Tomcat 相关搜索里的常客而且很多时候并非出现在 Eclipse 里而是命令行直接启动 Tomcat 时冒出来的。先解释一下这个类的来源。它位于 Tomcat 安装目录的bin/bootstrap.jar里是整个 Tomcat 的启动入口。正常情况下你执行catalina.bat run或startup.bat时脚本会自己把 bootstrap.jar 加进 classpath不需要你手动处理。报这个错最常见的原因就是环境变量没配对。脚本会试图通过JAVA_HOME或JRE_HOME找到 Java 来启动进程如果JAVA_HOME指向了一个不存在的目录或者路径里多了分号、引号脚本就直接“摆烂”报出找不到主类。排查步骤我建议按这个顺序来命令行执行echo %JAVA_HOME%确认输出的是一个有效的 JDK 目录不能用JRE_HOME糊弄。命令行执行java -version确认 java 命令能正常打印 1.8 版本。用cd /d tomcat目录\bin切到 Tomcat 的 bin 目录手动执行catalina.bat run看具体报错信息。这一步能看到更完整的日志比 Eclipse 控制台里那点信息好用很多。如果是在 Eclipse 里启动 Tomcat 才报这个错检查 Servers 视图里的 Tomcat Runtime Environment 是否指向了正确的 Tomcat 目录尤其是你重新解压过 Tomcat、或者移动过目录之后原来的配置路径就失效了。另外提醒一下有些人图省事直接在命令行敲java org.apache.catalina.startup.Bootstrap那不报错才怪。Bootstrap 不会自动出现在系统 classpath 里除非你手工指定java -classpath %CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar org.apache.catalina.startup.Bootstrap start这不是常规启动方式只适用于调试正常还是要用 catalina 脚本来拉起。6.2 双击 Eclipse 没反应或闪退这个现象通常分两种一种是有弹窗提示另一种是完全没反应。后者更隐蔽原因集中在三块。第一是 JDK 环境变量没生效。如果系统里只装了 JDK 8但Path里没写%JAVA_HOME%\bin双击 Eclipse 就相当于找不到 Java。解决办法优先用 eclipse.ini 里的-vm参数锁定 JDK 路径就像 3.3 节写的这是最直接的手段。第二是 eclipse.ini 写错。有些朋友看了网上的调优文章在-vmargs后面填了一堆参数结果格式错误Eclipse 启动器压根无法解析。恢复方法很简单用 Eclipse 目录下的eclipse.exe -clean清一次缓存或者手动把 eclipse.ini 备份后删掉让它恢复默认配置先排除自定义参数的问题。第三是 workspace 里的旧状态损坏常见于之前非正常关机。处理办法是用命令行带参数启动eclipse.exe -clean -clearPersistedState这个命令会重置一些持久化状态但不会删除你的工程文件放心用。6.3 内存溢出和 PermGen 误区Eclipse 2020-06 跑一段时间后偶尔会报java.lang.OutOfMemoryError: Java heap space尤其是开着多个大项目、频繁构建的时候。这时的解决方法不是重装 Eclipse而是把堆内存调大。在 eclipse.ini 里改两个参数-Xms512m -Xmx1024m如果你的机器内存大可以改成-Xms1024m -Xmx2048m。但注意堆内存上限不能无限大32 位 JDK 下堆顶多到 1.5GB 左右就会报警所以老电脑尽量用 64 位 JDK才能稳定撑起 2GB 以上堆。还有那些找出PermGen space报错的朋友再强调一遍JDK 1.8 没有永久代了PermGen 相关的参数全部失效。真正要关注的是元空间默认情况下元空间会随着类加载自动扩容大多数项目不需要手动调MaxMetaspaceSize。所以如果你的 pom.xml 构建某个大模块时报方法区内存溢出优先查是不是循环生成类或 CGLIB 代理导致的类加载过多而不是盲目调参。6.4 代码提示失效、中文乱码和其他日常问题代码提示是开发效率的生命线。装了 Eclipse 2020-06 并配置了 JDK 1.8 后默认的自动提示可能在输入.后才会弹出来。如果你希望输入任意字符都触发提示可以在Window - Preferences - Java - Editor - Content Assist里找到Auto activation triggers for Java把默认的.改成.abcdefghijklmnopqrstuvwxyz(ABCDEFGHIJKLMNOPQRSTUVWXYZ改完后写变量名、方法名时代码提示会积极很多。有些朋友改完无效记得重启 Eclipse 或至少关闭重开当前文件。中文乱码问题大多数情况来自 workspace 编码设置不一致。新建 workspace 后第一件事就是把文本编码统一成 UTF-8JSP、HTML、properties 文件也要逐个确认编码或者在项目属性里统一设置Text file encoding。如果项目里已经积压了一堆乱码文件那只能用转码工具批量处理这种惨痛教训我不多说了。还有些“小毛病”可以顺手处理现象原因与处理CtrlShiftO 导包时一直闪项目有多个版本 jar 冲突检查 Java Build Path 里的重复依赖重启后发现的插件不见了某些老插件和 2020-06 兼容性不足查看 .metadata 目录日志找到有问题的插件工程上有个红色感叹号Build Path 里有缺失的 jar 或 JDK 环境不匹配右键项目 - Build Path - Configure Build Path 修复调试时断点不生效确认项目编译级别是 1.8并且真正运行的是编译后的 class不是旧版本的 class 缓存清理项目后重新编译最后再分享一个小技巧老机器上跑 Eclipse 2020-06关闭Project - Build Automatically改成手动Ctrl B构建能明显降低卡顿感。这种方式适合改动不是特别频繁的情况等需要跑代码时再手动构建体验会清爽很多。如果你确定自己以后还要维护 JDK 1.8 的老项目强烈建议把jdk1.8.0_xxx、eclipse 2020-06、tomcat 8.5、maven 3.6.3这些安装包保存到本地网盘或移动硬盘。现在官网下载老版本越来越费劲Oracle 账号注册流程也烦等哪天想搭一套一模一样的环境却找不到安装包真就是“叫天天不应”。环境搭好之后把每个变量的配置写在笔记里尤其是JAVA_HOME和eclipse.ini的-vm路径绝对能让你省下大量重复排错的时间。
返回列表