目前我们正在开发Eclipse RCP应用程序。我正在使用方法
OS.GetForegroundWindow()
获取前景窗口。 当我在本地运行应用程序时它工作正常。但是当我们在构建之后运行相同的应用程序时,会出现以下错误。(maven tycho build)
错误:
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -clearPersistedState
Command-line arguments: -os win32 -ws win32 -arch x86_64 -clearPersistedState
!ENTRY org.eclipse.e4.ui.workbench.swt 4 2 2018-04-03 12:31:22.074
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.swt".
!STACK 0
java.lang.NoSuchMethodError: org.eclipse.swt.internal.win32.OS.GetForegroundWindow()
如果有人有解决方案,请告诉我。或者,如果有任何替代方法,我们可以使用而不是 OS.GetForegroundWindow()。
中找到了一些相关的参考信息StackoverFlow参考链接:Stackoverflow Ref link
答案 0 :(得分:1)
尝试使用此解决方案将shell置于顶部,它正在使用窗口7
public static void forceActive(final Shell shell) {
shell.getDisplay().asyncExec(new Runnable() {
public void run() {
shell.forceActive();
}
});
}