eclipse.ini:修改-vm参数让eclipse可以直接锁定到任务栏

本文介绍了解决Eclipse在Windows系统上无法被锁定到任务栏的问题。通过调整eclipse.ini文件中的-vm参数设置,可以避免启动时任务栏出现重复图标。

一般的程序,运行时如果没有锁定在任务栏,鼠标右击程序图标时右键菜单中都会显示"将此程序锁定到任务栏"这个选项,点击它,就可以将该程序锁定在任务栏,方便下次打开。
这里写图片描述

但今天新装eclipse的时候,发现鼠标右击eclipse图像居然没有这个选项。
虽然可以直接如下图右击eclipse.exe,点击"锁定到任务栏"来实现,
这里写图片描述
但这样以来在运行eclipse时任务栏会有两个eclipse的图标。这令人甚是不爽。
这里写图片描述

在网上查了才发现是eclipse.ini中启动参数设置的问题。
我们知道,${eclipse安装目录}/eclipse.ini文件用于设置eclipse的运行参数(Runtime Option),
在eclipse.ini中增加-vm可以设置eclipse使用的jdk版本。
比如我的eclipse.ini中就如下在第一行用-vm指定使用jdk1.8.0_111版本(我的系统中安装了1.6,1.7,1.8三个jdk版本)

-vm
C:/Program Files/Java/jdk1.8.0_111/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.400.v20160518-1444
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

这本是没有错的,但这样直接指定java虚拟机程序(.exe)的方式就会导致在windows下无法将eclipse锁定到任务栏的问题。
解决问题的办法也很简单,将上面的-vm参数中/javaw.exe删除

-vm
C:/Program Files/Java/jdk1.8.0_111/bin

为什么不加javaw.exe eclipse也可以运行?
因为-vm 的值可以是jdk/bin ,jre/bin这样的路径,也可以直接指定虚拟机程序(.exe)或动态库(.dll,.so)
参见-vm的参数说明:
这里写图片描述

摘自Runtime options

但为什么这样就可以锁定到任务栏,就不明白了,这应该是windows的策略问题。

(注:此法在win10下无效)

Eclipse 启动时报错 `org.eclipse.core.runtime.CoreException: Plug-in ... was unable to load class ...`,这通常与插件类路径配置错误、类文件缺失、插件依赖损坏或 Eclipse 缓存问题有关。以下是针对此类问题的详细排查与解决方法: ### 1. 清理 Eclipse 缓存 Eclipse 在启动时会缓存插件信息,如果缓存文件损坏,可能导致类加载失败。可以通过以下方式清除缓存: - 关闭 Eclipse- 找到 Eclipse 安装目录下的 `configuration` 文件夹。 - 删除或重命名 `org.eclipse.osgi` 文件夹。 - 重新启动 Eclipse,系统将重新构建缓存。 这种方式在插件状态异常或缓存冲突时非常有效[^1]。 ### 2. 检查插件完整性 确保相关插件(如 `org.eclipse.mat.ui`)的 JAR 文件完整且位于 `plugins` 目录中。可以尝试以下操作: - 确认插件是否存在,路径为:`eclipse/plugins/org.eclipse.mat.ui_*.jar`。 - 若文件缺失,可重新安装插件或从官方更新站点下载。 - 如果插件已存在,尝试将其删除并重新安装。 ### 3. 更新或重新安装插件 使用 Eclipse 的内置更新功能或通过 Help → Eclipse Marketplace 搜索并重新安装相关插件。例如: - 打开 Help → Install New Software。 - 添加更新站点(如 Eclipse Memory Analyzer 的官方地址)。 - 选择插件并进行安装。 若插件版本与当前 Eclipse 版本不兼容,也会导致类加载失败。确保插件版本与 Eclipse 内核兼容[^2]。 ### 4. 检查 Java 版本兼容性 Eclipse 插件通常对运行时 Java 版本有特定要求。确保: - 使用的 Java 版本与 Eclipse 兼容(Eclipse 2020-06 及以后版本推荐使用 Java 11 或更高版本)。 - 在 `eclipse.ini` 文件中指定正确的 `-vm` 参数指向兼容的 JDK。 例如,在 `eclipse.ini` 中配置如下: ```ini -vm C:/Program Files/Java/jdk-11.0.11/bin/javaw.exe ``` ### 5. 检查插件依赖关系 某些插件依赖其他插件或库文件。可以通过以下方式检查依赖关系: - 打开 Eclipse 的 `Error Log` 视图,查看详细错误堆栈。 - 查看控制台输出日志文件(`workspace/.metadata/.log`),定位具体缺失的依赖项。 - 使用 OSGi 控制台(在启动参数中添加 `-console`)检查插件状态和依赖关系。 ### 6. 使用干净启动模式 Eclipse 提供了“干净启动”选项,可以跳过插件缓存并重新加载所有插件: - 启动 Eclipse 时添加 `-clean` 参数- 或在快捷方式的目标中添加该参数,例如: ```shell eclipse.exe -clean ``` 此方法可避免因插件状态异常导致的类加载失败。 ### 7. 检查插件扩展点配置 如果插件本身配置错误,例如 `plugin.xml` 中的类名拼写错误或扩展点配置不正确,也可能导致类无法实例化。可以尝试: - 打开插件的 `plugin.xml` 文件。 - 检查 `<extension point="org.eclipse.ui.views">` 等节点中的类名是否正确。 - 若为自定义插件,确保类路径正确且类实现了必要的接口。 --- ### 示例:检查插件日志输出 在 `workspace/.metadata/.log` 文件中查找相关异常信息,例如: ```log !ENTRY org.eclipse.mat.ui 4 0 2023-10-10 10:00:00.000 !MESSAGE Plug-in org.eclipse.mat.ui was unable to load class org.eclipse.mat.ui.snapshot.views.inspector.InspectorView. !STACK 0 java.lang.ClassNotFoundException: org.eclipse.mat.ui.snapshot.views.inspector.InspectorView ``` 此类日志有助于定位缺失的类或依赖。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值