我正在尝试做一个仅客户端的Eclipse Scout应用程序。
我选择了菜单“ New Scout Project…”,在向导的第一步中,我仅检查了以下内容:
一切似乎都很好,但是当我启动客户端应用程序时,我得到了Stacktrace:
!ENTRY org.eclipse.scout.rt.client 4 0 2014-07-09 15:35:06.078
!MESSAGE org.eclipse.scout.rt.client.AbstractClientSession.startSession(AbstractClientSession.java:257) load session
!STACK 0
java.lang.reflect.UndeclaredThrowableException
at com.sun.proxy.$Proxy17.getAllCodeTypeClasses(Unknown Source)
at org.eclipse.scout.rt.client.services.common.code.CodeServiceClientProxy.getAllCodeTypeClasses(CodeServiceClientProxy.java:333)
at org.eclipse.scout.rt.client.services.common.code.CodeServiceClientProxy.getAllCodeTypes(CodeServiceClientProxy.java:354)
at org.eclipse.scout.rt.shared.services.common.code.CODES.getAllCodeTypes(CODES.java:97)
at com.company.app.client.ClientSession.execLoadSession(ClientSession.java:33)
at org.eclipse.scout.rt.client.AbstractClientSession.startSession(AbstractClientSession.java:252)
at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService$1.runVoid(ClientSessionRegistryService.java:64)
at org.eclipse.scout.rt.client.ClientJob.runStatus(ClientJob.java:189)
at org.eclipse.scout.rt.client.ClientJob.runTransactionWrapper(ClientJob.java:172)
at org.eclipse.scout.rt.client.ClientJob.run(ClientJob.java:159)
at org.eclipse.scout.commons.job.JobEx.runNow(JobEx.java:51)
at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.createAndStartClientSession(ClientSessionRegistryService.java:68)
at org.eclipse.scout.rt.client.services.common.session.internal.ClientSessionRegistryService.newClientSession(ClientSessionRegistryService.java:39)
at org.eclipse.scout.rt.ui.swt.AbstractSwtEnvironment$4.run(AbstractSwtEnvironment.java:539)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
为什么客户端应用程序需要连接到不存在的服务器?
这是一个问题Scout SDK
。
当您创建新的Scout项目时,即使您未在向导中选中服务器,生成的客户端代码也将依赖服务器。
您需要删除产生对服务器调用的元素。
在<your app>.client.ClientSession.execLoadSession()
删除行中:
setServiceTunnel(new ClientHttpServiceTunnel(this, UriUtility.toUrl(getBundle().getBundleContext().getProperty("server.url"))));
//pre-load all known code types
CODES.getAllCodeTypes(com.company.app.shared.Activator.PLUGIN_ID);
在<your app>.client.ui.desktop.Desktop
删除内部类中:
@Order(25)
public class BookmarkMenu extends AbstractBookmarkMenu {
public BookmarkMenu() {
super(Desktop.this);
}
}
您的仅客户端应用程序将启动。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句