Eclipse Helios 3.6和3.6.x设置
替代文字http://www.eclipse.org/home/promotions/friends-helios/helios.png
在对Eclipse Ganymede 3.4.x和Eclipse Galileo 3.5.x进行设置之后,下面是对Eclipse Helios 3.6.x 的“优化” eclipse.ini设置文件的深入了解:
根据运行时选项,
并利用太阳的Oracle JVM 1.6u21 B7,发布了七月二十七日电(可能涉及一些Sun专有选项)。
(通过“优化”,我的意思是能够在我们cr脚的工作站上运行全功能的Eclipse,其中包括2002年的一些旧P4、2Go RAM和XPSp3。但我也在Windows7上测试了相同的设置)
Eclipse.ini
警告:对于非Windows平台,请使用Sun专有选项
-XX:MaxPermSize而不是Eclipse专有选项
--launcher.XXMaxPermSize。
也就是说:除非您使用的是最新的jdk6u21 build 7。请参阅下面的Oracle部分。
-data../../workspace-showlocation-showsplashorg.eclipse.platform--launcher.defaultActionopenFile-vmC:/Prog/Java/jdk1.6.0_21/jre/bin/server/jvm.dll-vmargs-Dosgi.requiredJavaVersion=1.6-Declipse.p2.unsignedPolicy=allow-Xms128m-Xmx384m-Xss4m-XX:PermSize=128m-XX:MaxPermSize=384m-XX:CompileThreshold=5-XX:MaxGCPauseMillis=10-XX:MaxHeapFreeRatio=70-XX:+CMSIncrementalPacing-XX:+UnlockExperimentalVMOptions-XX:+UseG1GC-XX:+UseFastAccessorMethods-Dcom.sun.management.jmxremote-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons
注意:将
调整p2.reconciler.dropins.directory到您选择的外部目录。
看到这个答案。这个想法是要能够独立于任何Eclipse安装将新插件拖放到目录中。
以下各节详细介绍了此eclipse.ini文件中的内容。
可怕的Oracle JVM 1.6u21(内部版本7)和Eclipse崩溃
Andrew Niefer确实使我警惕了这种情况,并写了一篇博客文章,内容涉及非标准的vm参数(
-XX:MaxPermSize),这可能导致其他供应商的vm 根本无法启动。
但是,该选项(
--launcher.XXMaxPermSize)的eclipse版本不适用于新的JDK(6u21,除非您使用的是6u21 build 7,请参见下文)。
的 最后解决方案在Eclipse Wiki上,并且仅对于6u21 pre build 7的Windows上的Helios:
下载固定的eclipse_1308.dll(2010年7月16日)
放进去
(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
而已。此处没有要调整的设置(再次,仅适用于6u21 pre build 7的Windows上的Helios )。
对于非Windows平台,您需要恢复到Sun专有选项-XX:MaxPermSize。
该问题基于一种回归:由于Oracle在java.exe中重新命名,JVM识别失败,并在Eclipse上触发了错误319514。安德鲁(Andrew)处理了错误320005-[launcher] –launcher.XXMaxPermSize: isSunVM对于Oracle应该返回true,但这仅对Helios 3.6.1有用。Eclipse的另一位撰稿人
弗朗西斯·厄普顿(Francis Upton)对所有情况进行了反思。
u21b7更新,7月27日:
Oracle已经撤消了对下一个Java 6版本的更改,并且直到JDK 7才会再次实现。
如果使用jdk6u21 build7 ,则可以还原为–launcher.XXMaxPermSize(eclipse选项)而不是-XX:MaxPermSize(非标准选项)。在C启动器填充程序中发生
的自动检测eclipse.exe仍将寻找“ Sun Microsystems”字符串,但是使用6u21b7,它现在将起作用-再次。
现在,我仍然保留该
-XX:MaxPermSize版本(因为我不知道何时每个人都将启动正确的 JDKEclipse )。
隐式-startup
和--launcher.library
与先前的设置相反,这些模块的确切路径不再设置,这很方便,因为在不同的Eclipse 3.6.x版本之间它可能有所不同:
启动:如果未指定,则可执行文件将在plugins目录中查找
org.eclipse.equinox.launcher
具有最高版本的捆绑软件。launcher.library:如果未指定,则可执行文件将在plugins目录中查找
org.eclipse.equinox.launcher.[platform]
具有最高版本的适当片段,并使用eclipse_*内部命名的共享库。
使用JDK6现在明确需要JDK6来启动Eclipse:
-Dosgi.requiredJavaVersion = 1.6
这个SO问题报告了在Mac OS上进行开发的积极可能性。
+解锁ExperimentalVMOptions
以下选项是Sun JVM的一些实验选项的一部分。
-XX:+UnlockExperimentalVMOptions-XX:+UseG1GC-XX:+UseFastAccessorMethods
在这篇博客文章中已经报道了它们,可能会加快Eclipse的速度。在此处以及官方Java Hotspot选项页面中,
请参阅所有JVM选项 。 注意:这些选项 的详细列表报告默认情况下可能处于活动状态。
UseFastAccessorMethods
另请参阅“更新您的JVM”:
提醒一下,G1是准备JDK 7的新垃圾收集器,但已用于u17的版本6中。
从命令行在Eclipse中打开文件
请参阅Andrew Niefer 的博客文章,报告此新选项:
--launcher.defaultActionopenFile
这告诉启动程序,如果使用仅包含不以“ -” 开头的参数的命令行调用启动器,则应将这些参数视为跟在“
--launcher.openFile”之后。
eclipse myFile.txt
当您双击与eclipse相关的文件,或者选择文件并选择“ Open With”或Send To“ Eclipse ” 时,启动程序将在Windows上收到这种命令行。
相对路径将首先针对当前工作目录进行解析,其次针对eclipse程序目录进行解析。
请参阅错误301033以供参考。最初是错误4922(2001年10月,在9年后修复)。
p2和“未签名”对话框提示
如果您在安装许多插件时对这个对话框感到厌倦,请执行以下操作:
,添加您的
eclipse.ini:
-Declipse.p2.unsignedPolicy=allow
看到这个博客帖子从克里斯Aniszczy和bug报告235526。
我确实想说,安全研究支持以下事实:提示越少越好。
人们忽略了他们想完成的事情中突然出现的事情。对于3.6,我们不应在流程中间弹出警告-不管我们简化多少,人们都只会忽略它们。
相反,我们应该收集所有的问题,都不会有问题的安装那些包,而是把在工作流中的用户返回到一个地步,他们可以修正内容-添加信任,配置安全策略更宽松,等等这就是所谓的“安全分期”。
---------- http://www.eclipse.org/home/categories/images/wiki.gif 替代文字http://www.eclipse.org/home/categories/images/wiki.gif 替代文字http://www.eclipse.org/home/categories/images/wiki.gif
附加选项
这些选项不直接在eclipse.ini上面,但是在需要时可以派上用场。
Windows7上的user.home
问题
eclipse启动时,它将读取其密钥库文件(保存密码),该文件位于中user.home。
如果由于某种原因
user.home无法将自己正确地解析为完整路径,那么Eclipse将不会启动。
最初是在此SO问题中提出的,如果您遇到这种情况,则需要将密钥库文件重新定义为显式路径(开始时不再需要user.home进行解析)
添加您的
eclipse.ini:
-eclipse.keyring C:eclipsekeyring.txt
此错误已由错误300577跟踪,已在其他SO问题中解决。
调试模式
等等,Eclipse中有多个设置文件。
如果添加到
eclipse.ini选项中:
-debug
启用调试模式,Eclipse将寻找另一个设置文件:.options可以在其中指定一些OSGI选项的文件。当您通过dropins文件夹添加新插件时,这很棒。
如博客文章“ Dropins诊 断 ”中所述,在您的.options文件中添加以下设置:
org.eclipse.equinox.p2.core/debug=trueorg.eclipse.equinox.p2.core/reconciler=true
P2将通知您在dropins/文件夹中找到了哪些捆绑软件,生成了哪些请求以及安装计划是什么。也许它不是对实际发生的事情以及出了什么问题的详细解释,但是它应该为您提供从何处开始的重要信息:
- 你的包在计划中吗?
- 是安装问题(P2故障)
- 还是包含您的功能并非最佳选择?
来自Bug 264924-[reconciler]没有诊断dropins问题 ,最终解决了以下问题:
Unzip eclipse-SDK-3.5M5-win32.zip to ..../eclipseUnzip mdt-ocl-SDK-1.3.0M5.zip to ..../eclipse/dropins/mdt-ocl-SDK-1.3.0M5
这是一个有问题的配置,因为OCL依赖于缺少的EMF。3.5M5无法提供对此问题的诊断。
开始蚀。
没有明显的问题。错误日志中没有任何内容。
Help / about / Plugin
细节显示org.eclipse.ocl.doc
,但没有org.eclipse.ocl
。Help / about / Configuration
没有提及(诊断)细节org.eclipse.ocl
。Help / Installation / Information Installed Software
没有提及org.eclipse.ocl
。
好的错误标记在哪里?
清单类路径
在Galileo(又名Eclipse3.5)中,JDT开始解析添加到项目构建路径中的库中的清单类路径。无论是将库直接添加到项目的构建路径,还是通过类路径容器(例如,JDT提供的用户库工具或第三方实现的工具)将其添加到项目的构建路径中,该方法都有效。
在Helios中,此行为已更改为从清单类路径解析中排除类路径容器。这意味着您的某些项目可能不再在Helios中编译。如果要还原为伽利略的行为,请添加:
-DresolveReferencedLibrariesForContainers=true
有关参考 ,请参见错误305037,错误313965 和错误313890 。
IPV4堆栈
这个SO问题提到了在不访问插件更新站点时的潜在修复:
-Djava.net.preferIPv4Stack=true
此处提及的目的是为了防止它对您的配置有所帮助。
JVM1.7x64潜在的优化
本文报道:
作为记录,到目前为止,对于使用1.7 x64 JVM n Windows进行的基准测试,我发现的最快的选择是:
-Xincgc -XX:-DontCompileHugeMethods -XX:MaxInlineSize=1024 -XX:FreqInlineSize=1024



