Artikelformat

GWT Hosted Mode Problem unter Macos

Update: Die Beschreibung ist für die Version 1.71 von GWT gedacht. Mit dem Release der Version 2.0 ist sie hinfällig.

Heute gibt es einmal etwas zum Thema GWT (Google Web Toolkit). Beruflich setze ich mit dem Thema auseinander und finde das Konzept wirklich spannend. Aber nun zu dem Problem. GWT nutzt unter Macos für den Hosted Mode den Safari. Wenn man mit GWT entwickelt, benutzt man den Hosted Mode, damit man direkt den Java Source (nicht den Javascript-Source!) debuggen kann. In Version 2.0 kann man zwar jeden Browser benutzen, aber da hatte ich andere Probleme.

Was passiert nun. Man startet den Hosted Mode und der HM-Browser stürzt ab. Als Fehlermeldung liest man „Invalid memory access in …“.

Das Problem ist der Safari 4.0.4. Man liest häufig die Lösung den Safari auf 4.0.3 downzugraden, aber so eine Lösung gefällt mir grundsätzlich nicht. Nach einer längeren recherche habe ich im GWT Forum bei Google eine andere Lösung gefunden, die für mich funktioniert und daneben noch einen Bonus mitbringt.

Die stelle ich nun einmal vor:

  • Man benutzt GWT in Version 1.7.1.
  • Lade Webkit als Nightly Build > r51062. Nightly Build
  • DMG öffnen und Webkit nach Programme verschieben
  • In Eclipse Run -> Run Configurations auswählen
  • Auf der linken Seite das GWT Projekt auswählen
  • Enviroment Tab auswählen
  • Variable hinzufügen:
    Name: DYLD_FRAMEWORK_PATH
    Value: /Applications/WebKit.app/Contents/Frameworks/10.5
  • Speichern – „Append enviroment to native enviroment“ – sollte selektiert sein

Und das wars auch schon. Der Trick ist einfach, dass dieses Webkit den Safari Bug nicht mehr hat. Vielleicht ist dieser ebenfalls mit Safari 4.0.5 behoben, aber vorerst ist dies meine Lösung.

Jetzt noch den Bonus dieser Geschichte. Wer Firebug nutzt kennt im Firefox den Rechtsklick auf eine beliebige HTML-Seite und den „Inspect Element“ Punkt, durch den Umstieg auf Webkit, bietet dies nun auch der Hosted Mode, weil Webkit diese Funktionalität ebenfalls anbietet. Man kann somit auch ganz bequem den Source durchschauen, den GWT ausliefert und das schon währen der Entwicklung – ich bin begeistert.

Die Original Infos findet man hier: http://code.google.com/p/google-web-toolkit/issues/detail?id=4220#c22

1 Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.