Eclipse rcp 如何在Eclipse4.3中使用ParameterizedCommand注入参数?
我目前正在实现一个Eclipse4.3应用程序,并遇到了一个问题。我尝试将命令参数化以删除特定文件。我的方法与之相对应,但不知何故,我无法使其正常工作 在my Application.e4xmi中,我添加了一个带有参数的命令:Eclipse rcp 如何在Eclipse4.3中使用ParameterizedCommand注入参数?,eclipse-rcp,e4,Eclipse Rcp,E4,我目前正在实现一个Eclipse4.3应用程序,并遇到了一个问题。我尝试将命令参数化以删除特定文件。我的方法与之相对应,但不知何故,我无法使其正常工作 在my Application.e4xmi中,我添加了一个带有参数的命令: <commands xmi:id="_K1MVgDGKEeOO8o2ChqdHMA" elementId="first.application.command.deleteproject" commandName="deleteProjectCommand">
<commands xmi:id="_K1MVgDGKEeOO8o2ChqdHMA" elementId="first.application.command.deleteproject" commandName="deleteProjectCommand">
<parameters xmi:id="_Hr4FEDGTEeOO8o2ChqdHMA" elementId="cmd0" name="cmd0" typeId="" optional="false"/>
</commands>
一切正常,只有文件
没有被注入,它保持为null
。在执行前检查pcmd
变量时,它告诉我它已将参数正确设置为{cmd0=test}
(使用System.out.println(pcmd.getParameterMap());
)。当我删除@Optional
时,根本不调用execute方法
参数cmd0
在某个地方丢失。我的代码中的错误在哪里
谢谢 刚刚找到了解决办法。使用
pcmd.executeWithChecks执行(null,null)代码>似乎无法按预期工作。相反,我们需要注入的EHandlerService
:
@Inject
private EHandlerService handlerService;
现在我们使用如下服务执行命令:
handlerService.executeHandler(pcmd);
瞧
我希望这也能帮助一些人
@Inject
private EHandlerService handlerService;
handlerService.executeHandler(pcmd);