Thomas,我不相信您对您遇到的问题的分析,因为您没有显示可能导致该问题的 eclipse.ini 文件。
我也有 Windows 7,但 eclipse.ini 中的“#”没有问题。如果查看 EquinoxFwConfigFileParser 类的源代码,您会发现它使用 Java Properties.load(FileInputStream) 方法读取 *.ini 文件。因此,由于“#”在 Java 属性文件中用作注释信号,因此它在 eclipse.ini 中也用作注释信号。
但让我们只看现象。 *.ini 文件出现在 eclipse 安装中的许多地方,例如安装目录的配置子目录中的 config.ini 文件。开头是这样的:
#此配置文件由:org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser 编写
#2017 年 2 月 10 日星期五 15:57:47 CET
org.eclipse.update.reconcile=false
...
“#”似乎不太可能在此处用作注释信号,但在具有相同结构的 eclipse.ini 中则不行。 (我们现在知道它只是一个 Java 属性文件的结构。)
您的错误信息
...在索引 0 处的方案名称中:%23C:/Program%20Files/Java/jdk1.8.0_92/bin/javaw.exe
可能来自一些带有两行的ini,如下所示,可以出现在eclipse.ini中:
-vm
#C:/Program Files/Java/jdk1.8.0_92/bin/javaw.exe
“#”是 Windows 文件/目录名称中的合法字符。 “-vm”后面的行应该是一个文件名,或者更确切地说是一个 URI。如果没有找到指定的 javaw.exe,eclipse 启动器将采用它在 PATH 环境变量中找到的一个。
这个例子
-vm
#你好
#K:/studevaux/dev_javaver64/jdk8/bin/javaw.exe
-vmargs
启动 Eclipse 工作正常 - 但正如我意识到的那样,因为我的系统 PATH 中有一个 javaw.exe。当我消除它时,我收到一条错误消息:
Error message: no java.exe found to start eclipse