2012-02-13 6 views
0

내 GWT 프로젝트에 maven-gwt-plugin 및 ext-gwt를 사용하고 있습니다. 여기에 안내 된대로 이클립스에서 호스트 모드를 실행하려면 : http://mojo.codehaus.org/gwt-maven-plugin/user-guide/hosted.html 다음과 같은 메시지가 : I mvn clean install 및 외부 부두에 생성 된 전쟁을 넣으면GWT 호스트 모드가 모듈로드에 실패하지만 생성 된 전쟁이 다른 곳에서 작동합니다

16:47:13.063 [ERROR] [tempoui] Unable to load module entry point class net.stinfoservices.axsens.tempo.ui.client.TempoUI (see associated exception for details) 
java.lang.RuntimeException: Deferred binding failed for 'com.extjs.gxt.ui.client.image.XImages' (did you forget to inherit a required module?) 
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53) 
    at com.google.gwt.core.client.GWT.create(GWT.java:98) 
    at com.extjs.gxt.ui.client.GXT.<clinit>(GXT.java:37) 
    at com.extjs.gxt.ui.client.util.Theme.<clinit>(Theme.java:44) 
    at net.stinfoservices.axsens.tempo.ui.client.TempoUI.onModuleLoad(TempoUI.java:28) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) 
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.IncompatibleClassChangeError: Found interface com.google.gwt.core.ext.typeinfo.JClassType, but class was expected 
    at com.google.gwt.user.rebind.ui.ImageBundleGenerator.getValidUserType(ImageBundleGenerator.java:367) 
    at com.google.gwt.user.rebind.ui.ImageBundleGenerator.generate(ImageBundleGenerator.java:142) 
    at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48) 
    at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60) 
    at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647) 
    at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41) 
    at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78) 
    at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268) 
    at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141) 
    at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585) 
    at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455) 
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49) 
    at com.google.gwt.core.client.GWT.create(GWT.java:98) 
    at com.extjs.gxt.ui.client.GXT.<clinit>(GXT.java:37) 
    at com.extjs.gxt.ui.client.util.Theme.<clinit>(Theme.java:44) 
    at net.stinfoservices.axsens.tempo.ui.client.TempoUI.onModuleLoad(TempoUI.java:28) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) 
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:662) 

그러나, 그것은 작동합니다.

정말 개발 시간이 길기 때문에 호스트 된 모드를 사용하고 싶습니다. 여기

내 pom.xml 파일입니다 : http://pastebin.com/xPwCkw2c

누군가가 내가 뭘 잘못 또는 무슨 일이 일어나고 있는지 말해 줄래?

감사합니다.

답변

2

호환되지 않는 클래스 변경은 classpath에 두 가지 버전의 GWT가 있음을 나타내는 것입니다. 그러나 dev 모드에서만, 전쟁이 작동하면 컴파일 타임에는 그렇지 않습니다. 어떻게 dev 모드를 실행합니까? 꽤 오래된 버전의 GWT (및 gwt-maven-plugin도 사용하고 있습니다.) - IDE에서 최신 버전의 GWT를 포함하는 dev 모드를 실행하려고 할 가능성이 있습니까?

최근의 변경 사항은 GWT 2.0 및 GWT 2.2.0에서 발생했습니다. GXT의 복사본에 따라 2.1.x까지만 GWT 2.0과 호환 될 수 있습니다. http://www.sencha.com/products/extgwt/downloads/의 GXT 최신 버전에는 3 개의 병이 포함되어 있습니다. 하나는 GWT 2.0 이전이고 다른 하나는 2.0 ~ 2.2, 다른 하나는 2.2 이상입니다.