MercurialEclipse 2.5.0.201804011616版本SyncViewLabelProvider空指针异常
解决MercurialEclipse 2.5.0升级后执行操作出现NullPointerException的问题
我之前也碰到过类似的插件升级后报错的情况,从你提供的错误日志来看,空指针异常发生在SyncViewLabelProvider类的getChangesetFileOverlay方法里,大概率是插件升级后视图缓存、配置冲突或者版本兼容性问题导致的,试试下面这几个解决方案:
可能的解决步骤
重置Eclipse透视图与同步视图
- 关闭当前打开的同步视图;
- 点击Eclipse菜单栏的
Window > Perspective > Reset Perspective...,选择当前使用的透视图完成重置; - 重新打开同步视图,再尝试执行Mercurial操作。
清理Eclipse缓存与插件配置
- 完全关闭Eclipse;
- 进入你的工作区目录,找到
.metadata/.plugins/org.eclipse.core.runtime/.settings文件夹; - 删除所有以
com.vectrace.MercurialEclipse开头的配置文件; - 重启Eclipse后,重新配置MercurialEclipse的相关设置。
降级MercurialEclipse插件版本
这个2.5.0版本是2018年的版本,可能存在未修复的bug,你可以回退到之前更稳定的版本(比如2.4.x系列):- 打开Eclipse的
Help > Install New Software...; - 点击
Already Installed,找到MercurialEclipse插件后选择卸载; - 回到插件市场搜索旧版本的MercurialEclipse完成安装。
- 打开Eclipse的
检查本地Mercurial客户端兼容性
确保本地安装的Mercurial客户端版本和插件版本匹配:- 打开Eclipse的
Window > Preferences > Team > Mercurial > Configuration,查看插件使用的Hg客户端路径和版本; - 如果版本不匹配(比如插件要求Hg 4.0+但你用的是旧版本),尝试升级或降级本地Hg客户端到兼容版本。
- 打开Eclipse的
重新导入项目
如果项目的Mercurial元数据损坏,也可能导致这类问题:- 右键项目选择
Delete,弹出窗口中若不想删除本地文件就不要勾选Delete project contents on disk,点击OK; - 重新从本地文件系统导入项目,再重新关联Mercurial仓库。
- 右键项目选择
你提供的错误日志
!ENTRY org.eclipse.jface 4 2 2018-04-06 10:04:06.600 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NullPointerException at com.vectrace.MercurialEclipse.synchronize.cs.SyncViewLabelProvider$SyncLabelProvider.getChangesetFileOverlay(SyncV...
内容的提问来源于stack exchange,提问作者jeff porter
相关产品推荐
相关产品推荐

