Eclipse Ganymede als (JEE) Entwicklungsumgebung
Die Eclipse Foundation hat ein neues Eclipse mit dem Namen Ganymede veröffentlicht. Wie auch die ersten beiden Eclipse Versionen Callisto und Europa wurde das neue Eclipse wieder nach einem Jupiter Mond benannt. Für die Zukunft bleibt also nur noch ein weiterer Mond übrig und somit müsste Eclipse in seiner nächsten Version Io heißen, wenn sie dieser Linie treu bleiben.
Aber wie am besten starten und was gibt es neues in Ganymede? Dieser Artikel ist in folgenden Abschnitte unterteilt:
- Eclipse Ganymede Packages
- Erweiterungen und Änderungen in Ganymede
- Was macht Eclipse für JEE Entwickler interessant?
- Die JBoss Tools in Ganymede
- Fazit
Um die Entwicklung mit Eclipse zu starten bietet es sich an ein vorkonfiguriertes Eclipse Package herunterzuladen. Insgesamt stehen 7 große Packages und etliche Projekte für Ganymede zum Download bereit. Neben der generellen Übersicht, wie sie auch im folgenden Screenshot zu sehen ist, kann man die einzelnen Packages miteinander vergleichen und sieht so auf einen Blick welche Tools (z.B. Mylin, Web Tools oder XML Tools) in einem Package direkt mitgeliefert werden.
Neben den altbekannten Packages wie zum Beispiele das Eclipse Classic oder die Eclipse IDE for Java Developers wird für die folgenden Erläuterungen das Eclipse IDE for Java EE Developers verwendet. Neu hinzugekommen ist übrigens das Package Eclipse BIRT (Business Intelligence and Reporting Tools), welches für die Entwicklung von Java und Java EE Anwendungen mit Reporing Belangen entsprechen soll. Dabei wird die Unterstüztung für das Projekt BIRT schon in Eclipse mitgeliefert.
Ein weiteres sehr interessantes Projekt ist die IDE for C/C++ Developers mit der man, wie der Name schon vermuten lässt, C oder C++ Anwendungen entwickeln kann. Gerade in diesem Bereich sah es lange Zeit sehr mau aus und man konnte entweder zu dem großen kommerziellen Bruder Visual Studio oder einem einfachen Editor greifen. Selbst habe ich letztes Jahr einiges mit der C/C++ Entwicklungsumgebung gearbeitet und war damals auch schon positiv überascht, auch wenn es noch einige komische Verhaltensmuster aufgezeigt hat. Mit Ganymede wird auch die neueste CDT Version mitgeliefert, so dass man da auch einige Verbesserungen erwarten kann. Jedenfalls erobert an dieser Stelle Eclipse einen komplette anderen Bereich außerhalb von Java.
Software Updates
Mit dieser neuen Eclipse Version hat sich auch einiges geändert. Was einem wohl mit als erstes auffallen dürfte ist, dass das Plugin Management komplett umgebaut wurde und nun “Software Updates” heißt. So ist das Installieren und Verwalten von Eclipse Plugins jetzt zentraler und dadurch einfacher gestaltet und kann durch das Hauptmenü (Help->Software Updates) aufgerufen werden.
Neben diesem neuen Auftreten mit dem Update Manager ist es nun möglich installierte Features/Plugins auf ihre Aktualität zu prüfen. Dafür ist der Automatic Update Scheduler zuständig. So kann zum einen der Zeitpunkt an dem nach möglichen Updates geschaut werden soll konfiguriert werden wie z.B. bei jedem Starten von Eclipse (Default Einstellung) oder aber auch nur einmal in der Woche. Für den Fall, dass neue Updates für Features gefunden wurden kann entschieden werden was passieren soll. In der Voreinstellung wird man lediglich darauf hingwiesen, man kann aber auch einstellen, dass das neue Update direkt installiert werden soll. Allerdings wäre ich mit dieser Einstellung vorsichtig. Natürlich kann man diese Überprüfung auf neue Updates auch ausschalten
Java Editor
Eclipse Ganymede hat aber auch einige Erweiterungen für die Java Entwicklung im Editor und Refactoring mitgebracht. Welches mit am schnellsten auffallen dürfte ist die Java Editor Breadcrumb Trail. Diese Editor Breadcrumb Trail kann man entweder über das Context Menü (rechte Maustaste im Editor), über die Toolbar (Icon links neben dem Hervorheben Icon) oder über die Tastenkombination “Alt+Shift+B” eingeschaltet werden. Im folgenden Screenshot ist das Contextmenü zu sehen.
Darin sieht man auch gleich eine weitere neue Kleinigkeit die bei dem Hervorheben von dem Vorkommen eines Attributs in der Klasse zu sehen ist. Während bisher immer nur generell das Vorkommen/Verwenden eines in der Klasse grau hervorgehoben wurde, wird in Ganymede zwischen einer lesenden und einer schreibenden Aktion unterschieden. Überschreibt man ein Attribut, wie hier in diesem Beispiel im Setter die Referenz der Adresse, so wird dieses Attribut anders hervorgehoben als bei einer lesenden Aktion. Dieses Erweiterung scheint klein, aber während der Entwicklung kann sich das als sehr nützlich erweisen.
Ist die Editor Breadcrumb Trail einmal geöffnet kann man in dieser wie im Package Explorer zwischen den Packages, Klassen und Attributen navigieren.
Wie diese Veränderungen in der Verwendung aussehen zeigt der Screencastblog sehr schön in einem kurzen Video. Erläutert werden dabei die neuen Funktionen “Klasse extrahieren – Refactoring”, “Neue Schnell-Assistenten” und der “Java Editor Breadcrumb”.
Dieser Abschnitt ist eigentlich genereller Natur, aber wenn man gerade bei dem Thema ist kann man auch hier noch ein oder zwei Worte verlieren. Einer der wirklich großen Vorteile in der Entwicklung einer Web oder JEE Anwendung ist die Toolunterstützung für die verschiedenen Aspekte bei der JEE Entwicklung. Es beginnt bei der Verwendung von JPA in Verbindung mit einer Datenbank, bei dem Schreiben der Deployment Descriptoren oder Konfigurationsfile über Entwicklung der Oberfläche und dem Autocomplete im HTML/JSP Editor bis hin zum Deployen der Anwendung und Hot-Deployment auf einen Server. All das bietet mittlerweile Eclipse in seinem IDE for Java EE Developers Package von Haus aus in einer mittlerweile ausgereiften Version. Das Package ist ca 160 MB groß und man kann direkt nach dem herunterladen mit der Entwicklung starten.
Eines der meiner Meinung nach wichtigsten Features ist die direkte Server Unterstützung in Eclipse. Entwickelt man eine Anwendung für den Tomcat ist das schnelle Starten und Stoppen sowie Hot Deployment einfach unersätzlich. In der Server View lässt sich der Server direkt Starten und Stoppen und einmal gestartet werden Änderungen im Source Code automatisch oder mit Verzögerung direkt deployt.
Es werden mittlerweile viele Server von Haus aus unterstützt aber alle gängigen Server, wie zum Beispiel der Glassfish, bieten einen Server Adapter für das WTP Plugin an.
Mitlerweile ist auch das Portieren eines Java Projektes hin zu einem WTP Projektes nicht mehr so unmöglich wie früher.
Im Bereich der Oberflächen hat sich die Unterstützung für die Entwicklung von JSF Seiten sehr verbessert. So werden z.b. konfigurierte Backing Beans in der Autocomplete Funktion bei der Expression Language erkannt und Methoden sowie Attribute daraus angeboten. Aber auch die Validierung von HTML oder XML Seiten direkt im Editor ist sehr praktisch.
Ein weiterer interessanter Punkt ist die Data Tools Plattform, welche im JEE Package schon mit enthalten sind. So kann man direkt aus Eclipse heraus sich mit einer Datenbank verbinden und Operationen darauf ausführen.
Passend zu diesen kurzen Vorstellungen bietet sich das Tutorial “Creating Database Web Applications with Eclipse” aus den eclipse.org Resourcen an um einen weiteren Überblick über die Entwicklung einer Web Anwendung mit der Toolunterstützung von Eclipse zu erhalten.
Aktuell arbeite ich sehr viel mit den JBoss Tools und die habe ich dann natürlich auch in Ganymede installiert. Es gilt nach wie vor die gleich Update URL (http://downloads.jboss.org/jbosstools/updates/stable) lediglich die Art des Installieren weicht ein wenig von der Europa Version ab. Zum hinzufügen der Update URL über den Software Manager gehen (Hauptmenü->Help->Software Updates..) dort den Reiter “Available Software” anklicken und mit dem Button “Add Site…” die Update Seite hinzufügen.
Es scheint auf den ersten Blick keine kaum Probleme mit der neuen Ganymede Version zu geben. Leider gibt es Probleme bei der Verwendung der JBoss Tools Plugins mit Ganymede. Konkret funktioniert die JBoss Server View sowie die Hibernate Tools nicht mehr richtig.
Für die JBoss Server View besteht die Möglichkeit die Servier View des WTP Projektes zu verwenden. Da in der aktuellen WTP Version alle JBoss Application Server bis hin zur Version 5.0 von Haus aus unterstützt werden kann man den JBoss AS somit auch über die normale Server View starten und stoppen.
Bei den Hibernate Tools sieht das ganze schon etwas anders aus. Wechselt man in die Hibernate Perspektive so erscheint in Ganymede eine NoClassDefFoundError Exception (java.lang.NoClassDefFoundError: org/eclipse/ui/internal/util/SWTResourceUtil – ein JIRA Eintrag besteht schon). Anschließend werden die Icons der Hibernate Configurations nicht angezeigt und bei jedem klick wird die Exception neu geworfen und blockiert die Eclipse. Somit sind die Hibernate Tools nicht wirklich brauchbar.
Eine vorläufige Abhilfe kann das Verwenden der Hibernate Tools ANT Unterstützung sein um schnell Schema DDLs oder Updates direkt auf der Datenbank durchzuführen. Andernfalls muss, wenn die Verwendung der Hibernate Tools zwingend ist, wieder auf Eclipse Europa zurückgegangen werden bis eine neue Version des Plugins verfügbar ist.
Als wirklich brauchbare Alternative um die JBoss Tools weiterhin zu verwenden besteht die Möglichkeit die JBoss Tools Nightly Build Version in Ganymede installieren. Mehr Infos wie z.b. die Installationsanleitung gibt es hier.
Wie man die JBoss Tools bzw. das Subprojekt Hibernate Tools am besten einrichtet und was man damit anstellen kann, wird in dem Artikel “Unterstützung für JPA – Hibernate Tools in Eclipse” ausführlich erläutert.
Als Fallback Variante habe ich immer noch den VIM auf dem System installiert aber solange mein Eclipse irgendwie läuft möchte ich nicht darauf verzichten. Mit Eclipse Ganymede ist wieder ein schöner Schritt nach vorne gemacht worden und immer mehr Facetten der Entwicklung werden unterstützt. Man kann sehr gespannt sein wie es weitergeht.
[Update 09.07.] Abschnitt “Die JBoss Tools in Ganymede” – Hibernate Tools Probleme notiert.
[Update 15.07.] Abschnitt “Die JBoss Tools in Ganymede” – JBoss Tools Nightly Build Hinweis hinzugefügt.
Wenn du Fragen oder Anregungen zum Post hast, dann hinterlasse doch ein Kommentar oder wenn du weiterhin Artikel von Javathreads lesen möchtest, dann abonniere den RSS Feed und sehe direkt in deinem Feed Reader die nächsten Artikel.
Ähnliche Artikel, die dich interessieren könnten:
Kommentare
[...] mit Eclipse Ganymede (Eclipse 3.4 & WTP 3.0) arbeiten möchte und die JBoss Tools verwendet wird bemerkt haben, [...]
[...] Eclipse Ganymede (Eclipse 3.4) hat sich etwas in der SVN Unterstützung getan. Zum einen ist bisher noch keine [...]
Es hat sich viel getan. Aber Eclipse wird immer unbrauchbarer.
Die tollen Software-Updates haben bei mir noch nie funktioniert weil die Mirrors allesamt nicht gehen (wie auch in der neuen Version). Vielleicht lernen die Herrschaften es irgendwann noch. Leider habe ich aber keine Lust mehr zu warten, denn auf der Seite eclipse.org, die ein wild zusammengeschrottetes etwas ist, findet man auch nichts mehr was nicht direkt auf der main-site liegt.
Also bleibt nur eins NETBEANS ausprobieren. Kann vielleicht nicht ganz soviel aber man verschwendet nicht einen ganzen Arbeitstag um das CDT nach zu installieren.
Meine Empfehlung vergesst Eclipse es macht nur mehr Arbeit als es nutzt.
Damit habe ich meinen Frust von der Seele geschrieben.
GRuß Mandrake
Ich bin auch noch nicht wirklich von Ganymede überzeugt. Bei mir schafft Eclpise es einfach nicht, nach JBoss in einer akzeptablen Zeit zu deployen. Unter Linux werden erst einmal alle .class Dateien in mein /tmp Verzeichnis kopiert. Was wohl danach passiert, hatte ich bisher noch nicht die Zeit abzuwarten.
Ansonsten scheint Ganymede mit JBoss zu funktionieren, der Profiler stürzt mir allerdings auch mit einer Exception beim Start ab.
Das einzige, was zu gehen scheint ist immerhin endlich wieder die PHPEclipse Umgebung in Ganymede..
Nun ja.. Ich schaue noch mal, ob ich nicht doch noch einen Fix für das schneckenlangsame Deployment nach JBoss finde..
Unter Windows habe ich mit der Geschwindigkeit des Deployments nach JBoss überhaupt kein Problem. Ab und an muss ich lediglich die Clean Funktion aufrufen, so dass der JBoss meine Änderungen wieder mitbekommt. Aber das komm relativ selten vor.
Es gibt in der Tat noch viele Ecken und Kanten in Eclipse. Aber ich schätze mal, dass jede IDE so seine Macken hat die man kennen muss.. so bestimmt auch Netbeans. Müsste man mal genauer unter die Lupe nehmen.
Frustrierend ist eben (wie auch Du schon in Deinem Artikel schreibst), dass die 3.2.2 hier eigentlich völlig problemlos läuft – abgesehen davon, dass es mit Plugins immer enger wird, was bei mir den Wunsch nach Update auslöste.
Ich hatte mich immer gewundert, warum Ubuntu (Linux) nur eine 3.2 Version ausliefert und diese bisher nicht erneuert hat. Inzwischen bekomme ich mehr als eine Ahnung, warum das so ist.. Mit Europa hatte ich sogar noch mehr Probleme als jetzt mit Ganymede..
Habe die Erfahrungsberichte über Eclipse Europa in deinem Blog gelesen und kann deinen Frust sogar verstehen ;). So ist es unter Eclipse 3.3 bei der Entwicklung mit JBoss Seam z.B. so, dass man erst einen eigens dafür entwickelten Patch installieren muss um das Deployment aus Eclipse heraus auf JBoss korrekt hinzubekommen. Also von Haus aus rund lief es auch mit Eclipse 3.3 nicht.
Ich selbst habe es schon länger nicht mehr unter Linux probiert. Ich glaube meine letzten Erfahrungen unter Linux (mit Gentoo) waren auch mit Eclipse 3.2, habe allerdings damals nicht mit dem JBoss gearbeitet sondern SWT ausprobiert und das hat sehr gut funktioniert.
Eigentlich ist Linux die bessere Entwicklungsumgebung, allerdings hat man da auch so seine (bzw. andere als unter Windows) Schwierigkeiten wie es ja bei dir auch der Fall ist. Bin gespannt wie es bei dir weitergeht =).
Ich habe gerade spaßeshalber noch mal Europa frisch in mein Home Verzeichnis installiert, das Metadata Verzeichnis im meinem JBoss Projekt gelöscht und dann Europa darauf angesetzt. Ein wenig Konfiguration, dann startete ich den Server. Funktionierte nicht, Europa meldete eine NullPointerException beim Konfigurieren des Severs. Googlen ergab: Bekannter Bug, allerdings als gefixt markiert.
Dann habe ich mal nach Updates in Europa gesucht. Es wurden für die 3 großen Komponenten (WT, J2EE und ich glaube den Core) Updates gefunden.
Installiert und neu gestartet: Auf einmal geht alles?! Kein Unterschied zu 3.2.2, nur der, dass (das daraufhin installierte) PHPEclipse nun z.B. auch funktioniert! Selbst der frisch installierte Profiler scheint nun zu starten, zeigt aber noch nichts an. Unter 3.2.2 war der nicht mal zum Starten zu bewegen, da Plugins nicht mehr kompatibel..
Öhm.. Ich bin irritiert, das war dann doch zu einfach.. Meine vorherigen erfolglosen Tests mit Europa liefen unter Ubuntu Gutsy Gibbon, inzwischen habe ich ein frisch installiertes Ubuntu Hardy Heron am laufen.. Sollte es damit etwas zu tun haben? Verwundert mich gerade sehr..
Da muss ich gleich mal schauen, ob ich vielleicht auch für Ganymede ein entsprechendes Update finde, bin mir gerade nicht sicher, dass ich danach bereits gesucht hatte..
Für Ganymede gab es nahezu für alles ein Update.. Installiert, nun läuft das Development auch dort..
Offenbar sind die ursprünglichen Archive für Linux nicht brauchbar gewesen, aber bereits gefixt..
Hatte das zumindest damals bei meinen Europa Versuchen auch geupdatet, damals hatte ich damit keinen Erfolg..
Könnte also evtl. wirklich an der neuen Ubuntu Version liegen.
Lustig das mit dem Update =). Die Patches und Updates von Eclipse Europa sollten eigentlich in Eclipse Ganymede von Haus aus vorhanden sein. Zumindest verhält es sich für das Web Tools Platform (WTP) Projekt so.
Ich habe vorhin noch zufällig entdeckt, dass es für das WTP Projekt seit gut einer Woche (22.09.) eine neue Version 3.0.1 gibt mit über 300 Bugfixes gibt.
WTP 3.0.1 is now available. Release 3.0.1 is a scheduled maintenance release to fix serious defects present in the 3.0.0 release, as well as to improve its stability and performance. Nearly 300 fixes have been made since the 3.0.0 release.
Da das WTP Projekt einiges mit dem Deployment zu tun hat sollte es einen Versuch wert sein. Dieses Update kannst du über den Update Manager installieren.
Soeben flatterte dein letzter Kommentar rein, so das ich annehmene, dass du das Update bereits durchgeführt hast. Was genau hast du denn geupdatet? Oder hast du einfach alles was angeboten wurde verwendet?
Ich habe alles geupdatet, was mir angeboten wurde. Es war ziemlich viel, deshalb kann ich nicht mehr im Detail sagen, was es alles war. Aber WTP war sicherlich dabei..
Ah Moment.. Bei mir sind es die WST und zwar jetzt in der Version 2.0.3.v2008062, jedenfalls bei Europa.
Unter Ganymede wurde WST 3.0.1.v2008072 installiert.
[...] wurde und viele Erneuerungen gegenüber seinem Vorgänger mitgebracht hat – ich berichtete darüber. In vielen Firmen wird erst so langsam auf Eclipse Ganymede umgestiegen und nun erscheint auch [...]















[...] in Eclipse Europa war es vorhanden und somit ist es natürlich auch im neuen Eclipse Ganymede zu finden: die Rechtschreibprüfung in [...]