2011-07-19 16 views
1

GWTでgoogle-maps-api-v3の最新のjarファイルを使用しようとしています。this tutorialを順番に実行していますが、アプリケーションで使用しようとしたときに例外が発生します。GWTでGoogleマップを使用しているときの問題

Loading modules 
    ht.haitidataservices.simplemap.SimpleMap 
     Loading inherited module 'com.google.gwt.maps.Maps' 
     [ERROR] Unable to find 'com/google/gwt/maps/Maps.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source? 
     [ERROR] Line 5: Unexpected exception while processing element 'inherits' 
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:262) 
    at com.google.gwt.dev.cfg.ModuleDefSchema$BodySchema.__inherits_begin(ModuleDefSchema.java:495) 
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:230) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:274) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:331) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$100(ReflectiveParser.java:48) 
    at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:402) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:280) 
    at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:192) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:308) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:151) 
    at com.google.gwt.dev.DevModeBase.loadModule(DevModeBase.java:979) 
    at com.google.gwt.dev.DevMode.loadModule(DevMode.java:548) 
    at com.google.gwt.dev.DevMode.doStartup(DevMode.java:436) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1045) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
     [ERROR] Failure while parsing XML 
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) 
    at com.google.gwt.dev.util.xml.DefaultSchema.onHandlerException(DefaultSchema.java:58) 
    at com.google.gwt.dev.util.xml.Schema.onHandlerException(Schema.java:66) 
    at com.google.gwt.dev.util.xml.Schema.onHandlerException(Schema.java:66) 
    at com.google.gwt.dev.util.xml.HandlerMethod.invokeBegin(HandlerMethod.java:240) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.startElement(ReflectiveParser.java:274) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:331) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$100(ReflectiveParser.java:48) 
    at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:402) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:280) 
    at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:192) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:308) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:151) 
    at com.google.gwt.dev.DevModeBase.loadModule(DevModeBase.java:979) 
    at com.google.gwt.dev.DevMode.loadModule(DevMode.java:548) 
    at com.google.gwt.dev.DevMode.doStartup(DevMode.java:436) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1045) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
     [ERROR] Unexpected error while processing XML 
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.parse(ReflectiveParser.java:355) 
    at com.google.gwt.dev.util.xml.ReflectiveParser$Impl.access$100(ReflectiveParser.java:48) 
    at com.google.gwt.dev.util.xml.ReflectiveParser.parse(ReflectiveParser.java:402) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:280) 
    at com.google.gwt.dev.cfg.ModuleDefLoader$1.load(ModuleDefLoader.java:192) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:308) 
    at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromClassPath(ModuleDefLoader.java:151) 
    at com.google.gwt.dev.DevModeBase.loadModule(DevModeBase.java:979) 
    at com.google.gwt.dev.DevMode.loadModule(DevMode.java:548) 
    at com.google.gwt.dev.DevMode.doStartup(DevMode.java:436) 
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1045) 
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:804) 
    at com.google.gwt.dev.DevMode.main(DevMode.java:309) 
[ERROR] shell failed in doStartup method 

com/google/gwt/maps/Maps.gwt.xmlが見つからないというモジュール問題のようです。私はチュートリアルに従っているのでわからないし、自分がやっていることが正しいと確信している。 この問題を解決するにはどうすればよいですか?あなたの助けをありがとう

私は現在、64ビットWindows 7システム上でEclipse Indigoを使用してJDK 1.6を開発中です。

精度のために、私は自分のアプリケーションのCLASSPATHにグーグルマップjarを追加し、私のモジュールファイルに継承行を追加[EDIT]:私は私のCLASSPATHにマップGWT jarを追加

<module rename-to='egliseenquete'> 
    <!-- Inherit the core Web Toolkit stuff.      --> 
    <inherits name='com.google.gwt.user.User'/> 
    <inherits name='com.google.gwt.maps.Maps' /> 
    .... 
    </module> 

[EDIT]今私はこの例外を得る:

12:27:28.703 [ERROR] [egliseenquete] Unable to load module entry point class ht.haitidataservices.egliseenquete.client.EgliseEnquete (see associated exception for details) 

java.lang.RuntimeException: Deferred binding failed for 'com.google.gwt.maps.client.impl.MapOptionsImpl' (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.google.gwt.maps.client.impl.MapOptionsImpl.&lt;clinit&gt;(MapOptionsImpl.java:31) 
    at com.google.gwt.maps.client.MapOptions.&lt;init&gt;(MapOptions.java:40) 
    at ht.haitidataservices.egliseenquete.client.EgliseEnquete.buildMap(EgliseEnquete.java:100) 
    at ht.haitidataservices.egliseenquete.client.EgliseEnquete.onModuleLoad(EgliseEnquete.java:94) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) 
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:193) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.IncompatibleClassChangeError: Found interface com.google.gwt.core.ext.typeinfo.JClassType, but class was expected 
    at com.google.gwt.jsio.rebind.JSWrapperGenerator.generate(JSWrapperGenerator.java:276) 
    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:681) 
    at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41) 
    at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:74) 
    at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:285) 
    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.google.gwt.maps.client.impl.MapOptionsImpl.&lt;clinit&gt;(MapOptionsImpl.java:31) 
    at com.google.gwt.maps.client.MapOptions.&lt;init&gt;(MapOptions.java:40) 
    at ht.haitidataservices.egliseenquete.client.EgliseEnquete.buildMap(EgliseEnquete.java:100) 
    at ht.haitidataservices.egliseenquete.client.EgliseEnquete.onModuleLoad(EgliseEnquete.java:94) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) 
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:193) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) 
    at java.lang.Thread.run(Unknown Source) 

どうすればこの問題を解決できますか?ヘルプのためのThx!

+0

あなた自身のアプリケーションモジュールで ''と入力し、地図のjarが実際にあなたのクラスパスになっていることを確認しました。それはあなたのクラスパス – Shahzeb

+0

イェップ、私は実際にそれをやった。 – Dimitri

+0

libフォルダを作成し、そこにjarファイルを追加しました。そしてその後、私はCLASSPATHにjarファイルを追加しました – Dimitri

答えて

4

私は同様の問題を抱えていました。

私はthisチュートリアルを使用して終了し、それは素晴らしい仕事をした。これはgwt-maps-1.1.1.zip(これのリリース日はこれよりも最近です)と最新のGWTを使用しています。注意すべき

一つのこと、あなたが使用を確認するために、両方のチュートリアルを見ている場合ということです:

<inherits name='com.google.gwt.maps.GoogleMaps' /> 

なく

<inherits name='com.google.gwt.maps.Maps' /> 

彼らはCOMでは、ファイル名を変更したとして、 jarファイルの.google.gwt.mapパッケージ

map jarファイルのcom.google.gwt.mapパッケージのファイル名を確認すると、継承に使用していたファイル名がオフになっている可能性があります。その行を私が提案したものに変更すると修正されるはずです。

うまくいけば、これが役に立ちます。

乾杯

2

jarファイルの内部で見た後、私はパスの継承は、XMLファイルの間違っていることに気づきました。

<継承名= 'com.google.gwt.maps.GoogleMaps' />は、間違った道に= 'com.google.maps.gwt.GoogleMaps' /> --Is

<継承名を--Is正しいパス

多くの時間が無駄になりましたが、これが解決策です。 Googleはこの点についてチュートリアルで間違いを犯しました。

+2

もっと明示してください。 –

+0

@Stephen、開き角かっこをエスケープするには<を使用します。それ以外の場合、コンテンツはここでは隠されます。 –

関連する問題