操作系统用户名更改后的eclipse启动问题

操作系统用户名更改后的eclipse启动问题

我是win10用户,因为一些软件的存放路径中不能出现中文,而在第一次有了自己的电脑后并不知道这种事。于是在一次“深思熟虑”之后,我决定,更改了用户名。在网上搜了方法并成功地改成了英文名字。然而,在改完后发现,eclipse启动报错了。在找了N多方法,一个个尝试,在好长时间后终于解决了问题。
在这里,我想说下,似乎每台电脑就算遇到的报错不同,解决方法也有一点点差异。好多方法后面都有人说解决了,ok了,,但是我电脑上的eclipse仍然在报错。前前后后一共修改了5个文件才解决这个问题。
分别是
你的eclipse安装路径
\eclipse下的 eclipse.ini
你的eclipse安装路径
\eclipse\configuration 下的 config.ini
你的eclipse安装路径 \eclipse\configuration\org.eclipse.equinox.simpleconfigurator 下的 bundles.ini
C:\Users\你的用户名.p2 下的 pools.info 和 profiles.info
将这五个文件用记事本或者类似工具打开,将里面的旧用户名都改为现在的用户名,就可以启动eclipse了。操作系统用户名更改后的eclipse启动问题
需要注意的是有的文件汉字以 看不懂的字符 或者 \uxxxx 代表一个字的形式存在,改的时候看仔细。另外,在修改任何文件前,请先把该文件备份,以免错误更改造成不必要的损失。
以下是我在该问题中遇到的所有报错(由于在解决该问题时忘记截下图了,所以下面第一个报错的图片是临时别人那找来的)

第一个报错操作系统用户名更改后的eclipse启动问题
第二个是错误日志中
!SESSION Wed Mar 04 10:29:53 CST 2020 ------------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2020-03-04 10:29:53.067
!MESSAGE Could not find extension: reference:file:org.eclipse.osgi.compatibility.state_1.1.200.v20180827-1536.jar
!ENTRY org.eclipse.equinox.launcher 4 0 2020-03-04 10:29:53.079
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
(日期不对是因为我写文章时候故意修改文件让它报错,好让我复制过来的,之前的日志早就删了)

第三个是错误日志中
!ENTRY org.eclipse.osgi 4 0 2020-03-03 15:34:49.078
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:81)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
at org.eclipse.equinox.launcher.Main.run(Main.java:1501)

eclipse.ini的修改解决了第一个报错
config.ini的修改解决了第二个报错
bundles.ini的修改解决了第三个报错,该文件有的人只有1kb,有的七八十kb,我也不清楚是什么原因,而且在写文章时修改错误了里面的一个用户名并不影响打开eclipse。另外我的bundles.ini中有几百行,旧用户名的数量很多,是利用工具内查找字符然后replace All批量替换
pools.info 和 profiles.info这两个文件不修改也不影响启动eclipse,它们是我在解决问题途中看到的,既然里面的路径还存在旧用户名,修改掉是肯定没错的。或许在以后的使用中会碰到这两个文件。

以上,就是我解决问题的全过程。如有错误,请指正。