注释可以用分号(;
)或哈希(#
)标记(至少在Windows上)
在Windows 7上的Eclipse 4.5.2,#正在为我工作。但是要小心,键值在eclipse.ini
中是分开的,你需要同时注释掉键值。我添加了一个例子。
#-clean
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
-showlocation
#-vm
#C:/dev/software/jdk1.8.0_121/bin/javaw.exe
-vm
C:/dev/software/jdk1.8.0_131/bin/javaw.exe
-vm
#C:/dev/software/jdk1.8.0_121/bin/javaw.exe
C:/dev/software/jdk1.8.0_131/bin/javaw.exe
对eclipse.ini
的评论有点精确,至少对于Windows(7)。
奇怪的是,使用前导“#”可能会导致插件管理出现问题。
以下是卸载一个示例:
An error occurred while uninstalling
session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Uninstall, operand=[R]com.test.myeclipseplugins 1.2.3 --> [R]com.test.myeclipseplugins 1.2.4, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.UninstallBundleAction).
java.net.URISyntaxException: Illegal character in scheme name at index 0: %23C:/Program%20Files/Java/jdk1.8.0_92/bin/javaw.exe
java.net.URISyntaxException: Illegal character in scheme name at index 0: %23C:/Program%20Files/Java/jdk1.8.0_92/bin/javaw.exe
不幸的是,这个“%23”角色是你的主角“#”。 避免这个问题的唯一方法似乎只是避免使用评论:(
在这种情况下我真的不喜欢的是,这个“#”不会阻止Eclipse启动(对于其他“坏”字符,例如“;”或“//”)就是这种情况,但是然后让其他功能崩溃与不那么明显的堆栈跟踪(当卸载插件并面对前一个堆栈时,你会首先想到eclipse.ini
中的问题吗?)
托马斯,我不相信你对你遇到的问题的分析,因为你没有显示据说导致它的eclipse.ini文件。
我也有Windows 7但在eclipse.ini中没有“#”问题。如果查看EquinoxFwConfigFileParser类的源代码,您会发现它使用Java Properties.load(FileInputStream)方法读取* .ini文件。因此,“#”作为Java属性文件中的注释信号,它在eclipse.ini中也可以作为一个注释信号使用。
但让我们看看这些现象。 * .ini文件出现在eclipse安装的许多地方,例如安装目录的配置子目录中的config.ini文件。它是这样开始的:
#This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser #Fri Feb 10 15:57:47 CET 2017 org.eclipse.update.reconcile=false ...
“#”似乎不太可能在那里作为注释信号,但在具有相同结构的eclipse.ini中则不行。 (我们现在知道它只是Java Properties文件的结构。)
您的错误消息
... in scheme name at index 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 #Hello #K:/studevaux/dev_javaver64/jdk8/bin/javaw.exe -vmargs
工作正常,以启动eclipse - 但只是,正如我意识到的,因为我的系统路径中有一个javaw.exe。当我删除它时,我收到一条错误消息:
在Ubuntu和Linux Mint(基于Debian的操作系统)中,您可以使用#
添加注释
;
不在Ubuntu / Linux Mint工作。