【问题标题】:Gwt Material Design: MaterialSlider not working in classic dev modeGwt Material Design:MaterialSlider 在经典开发模式下不工作
【发布时间】:2019-07-05 21:25:00
【问题描述】:

这是在浏览器上显示的异常。

java.lang.reflect.InvocationTargetException 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 java.lang.reflect.Method.invoke(未知来源)在 com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:423) 在 com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) 在 com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:530) 在 com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:368) 在 java.lang.Thread.run(Unknown Source) 引起: com.google.gwt.core.client.JavaScriptException: (null) @gwt.material.design.jquery.client.api.JQuery::$(Lcom/google/gwt/dom/client/Element;)([JavaScript 对象(8)]):空在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:252) 在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:121) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:573) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:293) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) 在 gwt.material.design.jquery.client.api.JQuery.$(JQuery.java) 在 gwt.material.design.jquery.client.api.JQuery.$(JQuery.java:167) 在 gwt.material.design.client.base.MaterialWidget.$this(MaterialWidget.java:157) 在 com.mdesign.vadiraj.client.MaterialDesignWithCarousel.onModuleLoad(MaterialDesignWithCarousel.java:32) ... 9 更多

这是来自 Eclipse 控制台的异常。

14:34:14.799 [错误] [materialdesignwithcarousel] 无法加载 模块入口点类 com.mdesign.vadiraj.client.MaterialDesignWithCarousel(参见相关的 细节例外)

com.google.gwt.core.client.JavaScriptException: (null) @gwt.material.design.jquery.client.api.JQuery::$(Lcom/google/gwt/dom/client/Element;)([JavaScript 对象(8)]):空 在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:252) 在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:121) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:573) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:293) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) 在 gwt.material.design.jquery.client.api.JQuery.$(JQuery.java) 在 gwt.material.design.jquery.client.api.JQuery.$(JQuery.java:167) 在 gwt.material.design.client.base.MaterialWidget.$this(MaterialWidget.java:157) 在 com.mdesign.vadiraj.client.MaterialDesignWithCarousel.onModuleLoad(MaterialDesignWithCarousel.java:32) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 在 java.lang.reflect.Method.invoke(未知来源) 在 com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:423) 在 com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) 在 com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:530) 在 com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:368) 在 java.lang.Thread.run(Unknown Source)

这是我的项目设置 - Java 1.8 | GWT 2.8.1 |经典开发模式

继承名称="gwt.material.design.jquery.JQuery"

继承名称='gwt.material.design.GwtMaterialWithJQuery'

继承名称="gwt.material.design.GwtMaterialDesignBasic"

从入口点类附加代码sn-p

public void onModuleLoad() {

    MaterialSlider slider = new MaterialSlider();
    RootPanel.get().add(slider);

    slider.add(new Label("safrfsdhhdf"));
    slider.add(new Button("I am a button"));
    slider.add(new TextArea());
    slider.add(new MaterialSwitch(true));
}

【问题讨论】:

    标签: gwt gwt-material-design


    【解决方案1】:

    GWT Material Design 使用的 JsInterop 在旧版开发模式下不起作用(无论如何,现在没有人应该继续使用旧版开发模式,它已被弃用多年)

    【讨论】:

    • 稍微澄清一下 - 使用它没有问题,只要您不想使用任何新功能,例如 Java 8+ 支持或 JsInterop。对于只想继续使用完全相同的工具和相同功能的遗留项目,它仍然受支持。我们希望鼓励这些项目即使使用旧版开发模式仍使用最新的 GWT(用于安全更新等),但如果您想实际使用最近版本中添加的新功能,您也需要升级您使用工具的方式。
    • 感谢您的澄清。我一直在尝试转到 superdev 模式。它有自己的缺点,因为不支持 1. Hot code replace (Which is supported by Classic dev mode) 2. Inspect variable values while debugging. (Which again supported by classic dev mode)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多