通过阅读EclipseStarter类查看Eclipse平台接受的命令行参数

本文详细介绍了Eclipse平台启动类org.eclipse.core.runtime.adaptor.EclipseStarter中定义的各种启动参数,包括清洁工作空间、控制台日志等,并指导如何在运行配置中设置这些参数。
 在Eclipse平台启动类org.eclipse.core.runtime.adaptor.EclipseStarter中均有定义


如下:
// command line arguments
 private static final String CLEAN = "-clean"; //$NON-NLS-1$
 private static final String CONSOLE = "-console"; //$NON-NLS-1$
 private static final String CONSOLE_LOG = "-consoleLog"; //$NON-NLS-1$
 private static final String DEBUG = "-debug"; //$NON-NLS-1$
 private static final String INITIALIZE = "-initialize"; //$NON-NLS-1$
 private static final String DEV = "-dev"; //$NON-NLS-1$
 private static final String WS = "-ws"; //$NON-NLS-1$
 private static final String OS = "-os"; //$NON-NLS-1$
 private static final String ARCH = "-arch"; //$NON-NLS-1$
 private static final String NL = "-nl"; //$NON-NLS-1$
 private static final String NL_EXTENSIONS = "-nlExtensions"; //$NON-NLS-1$
 private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$ 
 private static final String USER = "-user"; //$NON-NLS-1$
 private static final String NOEXIT = "-noExit"; //$NON-NLS-1$
 private static final String LAUNCHER = "-launcher"; //$NON-NLS-1$

 

 

 

在调试时,可在run configurations--->Arguments--->Program arguments中添加这些参数,如:

nl -zh -clean -console

!SESSION 2025-08-11 13:41:01.459 ----------------------------------------------- eclipse.buildId=unknown java.version=1.8.0_172 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 -clean !ENTRY org.eclipse.platform 2 0 2025-08-11 13:41:02.540 !MESSAGE Could not resolve module: org.eclipse.platform [204] Unresolved requirement: Require-Bundle: org.eclipse.ui.intro; bundle-version="[3.2.0,4.0.0)" !ENTRY org.eclipse.osgi 4 0 2025-08-11 13:41:02.540 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at com.ami.veb.ui.VeBApplication.checkInstanceLocation(VeBApplication.java:493) at com.ami.veb.ui.VeBApplication.start(VeBApplication.java:280) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 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:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
08-12
!SESSION 2025-08-25 10:36:36.584 ----------------------------------------------- eclipse.buildId=unknown java.version=1.8.0_291 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN Framework arguments: -application test.rcp.application Command-line arguments: -application test.rcp.application -data D:\eclipse4/../runtime-test.rcp.application -dev file:D:/eclipse4/.metadata/.plugins/org.eclipse.pde.core/test.rcp.application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog !ENTRY org.eclipse.osgi 4 0 2025-08-25 10:36:38.323 !MESSAGE Application error !STACK 1 java.lang.NoClassDefFoundError: org/cef/CefApp at test.rcp.Application.start(Application.java:17) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1474) Caused by: java.lang.ClassNotFoundException: org.cef.CefApp cannot be found by test.rcp_1.0.0.qualifier at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:511) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:414) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:153) at java.lang.ClassLoader.loadClass(Unknown Source) ... 14 more An error has occurred. See the log file D:\runtime-test.rcp.application\.metadata\.log.
08-26
eclipse.buildId=Version 1.19.0 java.version=21.0.3 java.vendor=Eclipse Adoptium BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN Command-line arguments: -os win32 -ws win32 -arch x86_64 This is a continuation of log file C:\Users\WBF\STM32CubeIDE\workspace_1.19.0\.metadata\.bak_0.log Created Time: 2025-11-15 04:54:56.996 org.eclipse.ui 错误 Sat Nov 15 04:55:01 CST 2025 Conflicting handlers for org.eclipse.ui.file.close: {org.eclipse.ui.internal.CloseEditorHandler@6a906078} vs {org.eclipse.ui.internal.CloseEditorHandler} in: org.eclipse.ui.contexts.dialog java.lang.IllegalStateException: Conflicting handlers: {[org.eclipse.ui.internal.CloseEditorHandler@6a906078, for 'org.eclipse.ui.file.close', in WorkbenchContext, active=true, sourcePriority=0, participating=true]} vs {[org.eclipse.ui.internal.CloseEditorHandler, for 'org.eclipse.ui.file.close', in WorkbenchContext, active=true, sourcePriority=0, participating=true]} in: org.eclipse.ui.contexts.dialog at org.eclipse.ui.internal.handlers.LegacyHandlerService$HandlerSelectionFunction.compute(LegacyHandlerService.java:143) at org.eclipse.e4.core.internal.contexts.ValueComputation.get(ValueComputation.java:70) at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:265) at org.eclipse.e4.core.internal.contexts.EclipseContext.internalGet(EclipseContext.java:276) at org.eclipse.e4.core.internal.contexts.EclipseContext.get(EclipseContext.java:230) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.lookUpHandler(HandlerServiceImpl.java:99) at org.eclipse.ui.internal.handlers.E4HandlerProxy.handlerChanged(E4HandlerProxy.java:115) at org.eclipse.core.commands.AbstractHandler.fireHandlerChanged(AbstractHandler.java:77) at org.eclipse.ui.internal.handlers.HandlerProxy.lambda$1(HandlerProxy.java:371) at org.eclipse.core.commands.AbstractHandler.fireHandlerChanged(AbstractHandler.java:77) at org.eclipse.ui.internal.AbstractEnabledHandler.setEnabled(AbstractEnabledHandler.java:43) at org.eclipse.ui.internal.AbstractEvaluationHandler.lambda$0(AbstractEvaluationHandler.java:55) at org.eclipse.ui.internal.services.EvaluationReference.evaluate(EvaluationReference.java:116) at org.eclipse.ui.internal.services.EvaluationReference.changed(EvaluationReference.java:100) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:105) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:358) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:374) at org.eclipse.ui.internal.services.EvaluationService$1.changed(EvaluationService.java:78) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:105) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:358) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseContext.java:374) at org.eclipse.e4.core.internal.contexts.EclipseContext.activate(EclipseContext.java:661) at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener$2.run(ShellActivationListener.java:137) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47) at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener.activate(ShellActivationListener.java:133) at org.eclipse.e4.ui.internal.workbench.swt.ShellActivationListener.handleEvent(ShellActivationListener.java:76) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1319) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1173) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1198) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1183) at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1523) at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2338) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4724) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1482) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2311) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5091) at org.eclipse.swt.internal.win32.OS.BringWindowToTop(Native Method) at org.eclipse.swt.widgets.Decorations.bringToTop(Decorations.java:215) at org.eclipse.swt.widgets.Shell.open(Shell.java:1292) at org.eclipse.jface.window.Window.open(Window.java:795) at org.eclipse.ui.internal.statushandlers.InternalDialog.open(InternalDialog.java:297) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.doAddStatusAdapter(WorkbenchStatusDialogManagerImpl.java:255) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.addStatusAdapter(WorkbenchStatusDialogManagerImpl.java:188) at org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager.addStatusAdapter(WorkbenchStatusDialogManager.java:152) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.showStatusAdapter(WorkbenchErrorHandler.java:97) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.lambda$0(WorkbenchErrorHandler.java:61) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4099) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3715) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:639) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:546) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668) at org.eclipse.equinox.launcher.Main.b
最新发布
11-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值