Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe kürzlich begonnen, mit dem Google Web Toolkit zu arbeiten und hoffe, dass sich hier welche besser mit der Materie auskennen. Ich benutze Eclipse 3.5.2, Java 1.6, das GWT 2.0.3 und das entsprechende Plugin für Eclipse.

Folgende Situation:

- Neues Web Application Project angelegt

- Eigene Remote Procedure Call erstellt

- Die ServiceImpl Klasse bindet externe Jars ein, aus denen ich Klassen instanziieren möchte (im Build-Path hinzugefügt und per Import-Anweisung eingebunden)

Problem 1:

Beim Ausführen der Applikation (bzw. beim Starten der App Engine mittels des Run-Buttons) bekomme ich nach ca. 20 Sekunden folgende Fehlermeldung auf der Konsole:

INFO: Unable to access http://appengine.google.com/api/updatecheck?runtime=java&release=1.3.4&timestamp=1273872371&api_versions=['1.0']

java.net.ConnectException: Connection timed out: connect

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(Unknown Source)

at java.net.PlainSocketImpl.connectToAddress(Unknown Source)

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at sun.net.NetworkClient.doConnect(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.openServer(Unknown Source)

at sun.net.www.http.HttpClient.<init>(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.http.HttpClient.New(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

at java.net.URL.openStream(Unknown Source)

at com.google.appengine.tools.info.RemoteVersionFactory.getVersion(RemoteVersionFactory.java:76)

at com.google.appengine.tools.info.UpdateCheck.checkForUpdates(UpdateCheck.java:98)

at com.google.appengine.tools.info.UpdateCheck.doNagScreen(UpdateCheck.java:168)

at com.google.appengine.tools.info.UpdateCheck.maybePrintNagScreen(UpdateCheck.java:136)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.maybePerformUpdateCheck(AppEngineLauncher.java:104)

at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:76)

at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)

at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)

at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)

at com.google.gwt.dev.DevMode.main(DevMode.java:275)

15.06.2010 13:43:38 com.google.apphosting.utils.jetty.JettyLogger info

INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger

15.06.2010 13:43:38 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml

INFO: Successfully processed C:\...\war\WEB-INF/appengine-web.xml

15.06.2010 13:43:38 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml

INFO: Successfully processed C:\...\WEB-INF/web.xml

15.06.2010 13:43:39 com.google.appengine.tools.development.DevAppServerImpl start

INFO: The server is running at http://localhost:8888/

Anschließend gibt er mir die Location aus, die ich im Browser aufrufen kann. Die Applikation läuft trotzdem - bis zu dem Punkt, an dem o. g. Klassen instanziiert werden.

Problem 2:

An dieser Stelle stellt er fest, dass er die Klasse gar nicht findet.

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String hello.client.PRISService.isConnected()' threw an unexpected exception: java.lang.NoClassDefFoundError: de/pps/persistence/DSManager

Es scheint mir, als wüsste der Server zur Laufzeit nichts von den Klassen, die ich benutzen möchte. Weiß jemand einen Rat, an welcher Stelle ich den Fehler suchen soll? Ich wäre dankbar für jeden Tipp.

Gruß

Bearbeitet von Ulfmann

  • Autor

Das Problem lässt sich weiter konkretisieren. Gemäß der Google Doku läuft jede Applikation in einer Sandbox, die gewissen Restriktionen unterliegt.

An app can use any JVM bytecode or library feature, as long as it does not exceed the sandbox restrictions. For instance, bytecode that attempts to open a socket or write to a file will throw a runtime exception.

Quelle:

What Is Google App Engine? - Google App Engine - Google Code

Genau das will ich jetzt aber machen. Die Vorstellung, dass GWT keinen Zugriff auf andere Bibliotheken oder Datenbanken zulässt halte ich nicht so ganz für realistisch. Weiß da jemand einen Ausweg?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.