2011-09-29 85 views
2

我有以下问题,可能有人可以帮助我吗?GWT + Spring托管模式不工作

我有一个Spring MVC应用程序,非常基本,有一些简单的jsp页面。

另外我有一个Spring Security与它集成。

现在我需要添加一些GWT小部件到一个页面。到目前为止没有问题,我已将<div>添加到页面,添加了GWT模块,所有需要的GWT逻辑。

当我编译GWT,然后将应用程序部署到tomcat - 一切正常,我打开应用程序,登录到它,打开我的页面,看到GWT UI组件。

现在我想打开我的应用程序托管模式。有问题开始。

当我启动托管模式时,Jetty启动,Spring框架初始化,然后我的jsp(翻译为.htm)打开时没有托管模式参数?gwt.codesvr = 127.0.0.1:9997。打开我的页面后,如果我删除编译的gwt代码,我什么都看不到。

当我手动添加“?gwt.codesvr = 127.0.0.1:9997”托管模式启动和GWT模块开始加载。这是当我得到一个错误:

12:57:15.589 [ERROR] [rehabrental] Failed to load module 'testmodule' from user agent 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.23) Gecko/20110920 Firefox/3.6.23' at 127.0.0.1:63260

java.lang.NoSuchFieldError: warningThreshold at com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions(JdtCompiler.java:413) at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.<init>(JdtCompiler.java:228) at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:700)
at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:235) at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:447) at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360) at com.google.gwt.dev.DevModeBase$UiBrowserWidgetHostImpl.createModuleSpaceHost(DevModeBase.java:110) at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:197) at java.lang.Thread.run(Unknown Source)

回答

6

你使用eclipse?。如果是这样,您需要重新安排导出的模块,因为JDT类会导致GWT编译器出现问题。请参阅GWT issue中有关将GWT依赖关系推到其他位置的评论#7,以便编译器首先获取它们。

+1

是的,Eclipse 3.7,GWT 2.4 –

+2

好的,这个特殊的错误是因为我在GWT中使用Jetty7而不是默认的Jetty6。 当我从运行配置中删除Jetty7后,GWT页面开始工作。 但不幸的是,所有其他页面都被破坏了,现在我的错误是 java.lang.NoClassDefFoundError:javax/el/ELException 仍然不知道如何解决它。在我将el-api.jar添加到classpath之后,我马上得到了另一个错误:AbstractMethodError –

+1

您最好在['-noserver'模式](http://code.google.com/webtoolkit/doc/latest/DevGuideCompilingAndDebugging .html#How_do_I_use_my_own_server_in_development_mode_instead_of_GWT's)。 –