Aus Linux-Magazin 09/2015

Top Ten der Eclipse-Plugins

© nattapon wongwean, 123RF

Damit Projekte funktionieren, sollten Entwickler sich auf einen festen Satz von Erweiterungen einigen. Das Linux-Magazin stellt zehn Plugins für Java-EE-Projekte vor, die zum Pflichtprogramm gehören.

Weil Eclipse viele Einstellungs- und Erweiterungsmöglichkeiten bietet, gleicht keine Installation der anderen. Projektarbeit bedeutet aber Gemeinsamkeiten festzulegen, besonders in Sachen Tools. Die vorgestellten Plugins dienen diesem kollaborativen Gedanken und haben sich im Projektkontext einen Hitparadenplatz verdient. Die Auswahl dient auch als Starthilfe für den Einstieg in Eclipse. Zusätzliche Erweiterungen, über 2000, finden sich zwar im Eclipse-Marktplatz [1], doch trotz komfortabler Suche ist es oft Glückssache, passende Plugins zu finden. Hier hilft die Auswahl (Abbildung 1) des Artikels weiter.

Abbildung 1: Die Parade der Eclipse-Plugins.

Abbildung 1: Die Parade der Eclipse-Plugins.

Birt

Das Birt-Projekt ist schon seit 2004 im Plugin-Pool dabei. Das Berichterstellungs-Werkzeug Birt (Business Intelligence and Reporting Tools, [2]), stammt von der Firma Actuate. Als die vor der Entscheidung stand, eine neue Generation von Berichtwerkzeugen zu entwickeln, stellte sie Birt von Anfang an unter das Eclipse-Dach.

Birt lässt sich praktischerweise als Stand-alone-Version betreiben oder als Plugin zu einer bestehenden Eclipse-Installation hinzufügen. Da es bisher an jeder Release teilgenommen hat, steht Version 4.5 auch für die Mars-Version von Eclipse parat. Birt besteht aus zwei Hauptkomponenten und ihren zugehörigen Engines: den Designern für Berichte und Diagramme. Diese erzeugen Berichte in den unterschiedlichen Formaten.

Bevor der Benutzer Daten aus einer Datenbank einem Bericht zuordnet, muss er im Datenexplorer eine Datenquelle mit einer Datenbankverbindung wählen, dann ein Dataset mit einer Datenbankabfrage erstellen und die Spalten der Abfrage auf dem zuvor erstellten Bericht platzieren.

Mit dem Menü-Eintrag »Run Report« öffnet sich der erste Bericht mit Daten im Browser über den Report Viewer. Von dort lässt sich der Bericht in unterschiedlichen Ausgabeformaten (Abbildung 2) ausgeben. Am einfachsten startet der Benutzer bei den Beispieldaten für klassische Automodelle und Oldtimer.

Abbildung 2: Birt-Reports lassen sich im Design anpassen.

Abbildung 2: Birt-Reports lassen sich im Design anpassen.

Das Plugin bietet umfangreiche Funktionen und eine gute Dokumentation mit Beispielen samt Tutorials unter http://www.eclipse.org/birt/demos/ an. Beides ist hilfreich. Die Berichte lassen sich mit etwas Java-Programmierkenntnissen einfach in eigene Programme einbinden oder in den kommerziellen Actuate-Serverprodukten verwenden.

Anyedit – Textkonverter

Das preisgekrönte Plugin Anyedit [3] fügt dem Kontextmenü einige nützliche Textkonvertierungs-Funktionen hinzu. So lassen sich Whitespaces anzeigen, Tabs in Leerzeichen umwandeln und Texte in einer Datei alphabetisch sortieren. Außerdem erleichtert es das Arbeiten mit Workingsets und kann diese zwischen Eclipse-Workspaces exportieren und wieder importieren.

Im Kontextmenü der Konsole lassen sich dort referenzierte Dateien direkt öffnen. Das sind alles Funktionen, deren Ausführung sonst externe Editoren und Werkzeuge außerhalb von Eclipse bedingt. Mit Anyedit muss man Eclipse nicht mehr verlassen und hat die erweiterten Textkonvertierungs- und Editier-Funktionen bequem parat (Abbildung 3).

Abbildung 3: Bei Anyedit lassen sich Konvertierungseinstellungen ändern.

Abbildung 3: Bei Anyedit lassen sich Konvertierungseinstellungen ändern.

Auf der Suche nach Fehlern

Über Werkzeuge zur statischen Code-Analyse lassen sich Fehler oder Unsauberkeiten schnell erkennen und oft auch mit den dort enthaltenen Hinweisen beheben, bevor sie sich zu größeren und teureren Problemen auswachsen. Weil in größeren Java-Projekten ein zentraler Buildserver mit Codequalitäts-Überprüfung Standard ist, sind Entwickler gut beraten, Fehlerhinweisen nachzugehen. Da oft weitere statische Codeanalyse-Werkzeuge zum Einsatz kommen, einige stellt der Artikel vor, passieren bei den Prüfungen Überschneidungen oder im idealen Fall Ergänzungen.

Entwickler sollten die Standardüberprüfungsregeln an eigene Bedürfnisse anpassen, um nur auf die für ein Projekt relevanten besonders kritischen Fehler hingewiesen zu werden. Viele Java-Entwickler benutzen das Werkzeug-Dreigestirn Findbugs, PMD und Checkstyle lokal oder zentral auf dem Server.

Findbugs

Ein beliebtes und ausgereiftes Werkzeug, das aus einem Forschungsprojekt der University of Maryland stammt und dort auch seine Weiterentwicklung erfährt, ist Findbugs [4]. Das Tool kann den Java-Code nach über 400 Fehlermustern (Abbildung 4) untersuchen.

Abbildung 4: Findbugs-Einstellung für zu untersuchende Fehlerkategorien.

Abbildung 4: Findbugs-Einstellung für zu untersuchende Fehlerkategorien.

Diese lassen sich grob in die folgenden Prüfkategorien einteilen: Verletzung von guter Praxis, potenzielle Programmierfehler, schlampiger Code, Bugs, die zu Laufzeitfehlern führen, sowie Code, der Sicherheitslücken oder ein Performanceproblem enthält. Findbugs prüft auch, ob es Probleme bei der Internationalisierung von Texten oder beim Ausführen paralleler Threads gibt.

Die Gewichtung und die Prüfungen gemäß der einzelnen Kategorien und ihrer Regeln lassen sich an eigene Anforderungen anpassen. Ein für Sicherheitsaudits hilfreiches Zusatzplugin ist Find-sec. Es prüft den Code mittels weiterer 63 Fehlermuster auf Sicherheit und korrekte Verwendung von Verschlüsselung, unter anderem nach den Top 10 des Open Web Application Security Project. Dessen Datei »findsecbugs-plugin-1.4.1.jar« lässt sich über den Plugins-Setting-Reiter als Plugin hinzufügen, um dann die Muster-Detektoren zu konfigurieren.

Gefundene Fehler zeigt der Bug-Explorer nach der Code-Analyse in der Eclipse-Sicht an und sortiert sie nach Schweregraden. Hilfreich: In der Fehleransicht lassen sich zusätzliche Informationen zur Art des Fehlers aufrufen. Hinweise zum Beheben des Bugs kommen ebenfalls. Praktischerweise kann der Programmierer von dort aus auch direkt zu der betroffenen Codestelle springen, um den Fehler möglichst gleich auszubügeln.

Checkstyle – Stilprüfung

Bei Checkstyle [5] handelt es sich um einen Quellcode-Analyzer, der die Übereinstimmung von Java-Code mit Kodier-Regeln überwacht und über Abweichungen informiert. Als Standardvorgabe für Java dienen meist die Programmierregeln von Sun. Sie lassen sich an eigene Bedürfnisse anpassen (Abbildung 5) oder erweitern. Es lohnt sich auch, die Datei »BlochEffectiveJava.xml« mit Regeln aus dem Standardwerk von Joshua Bloch zum Thema “Effective Java” aus einer Checkstyle-Installation in den Eclipse-Workspace zu importieren und zu verwenden.

Abbildung 5: In Checkstyle lassen sich Einstellungen für die Prüfungen anpassen.

Abbildung 5: In Checkstyle lassen sich Einstellungen für die Prüfungen anpassen.

Auch für dieses beliebte Werkzeug existiert ein Eclipse-Plugin, das in keinem Java-Projekt fehlen sollte. Der Nutzer aktiviert es für das jeweilige Eclipse-Projekt, sodass die Überprüfung bei jeder Datei-Änderung stattfindet. Befunde erscheinen dann direkt am Rande der im Editor geöffneten Datei, und zwar mit Hinweisen angereichert, wie diese zu beheben sind. Die angewandten Checkstyle-Regeln sind ebenfalls anpassbar und lassen sich als externe Datei auch anderen zur Verfügung stellen.

PMD gegen Doppelungen

Neben Java kann PMD [6] auch Javascript, XML und XSL auf Fehler untersuchen. Dabei nutzt es eine Erweiterung, den Copy-Paste-Detector (CPD). Der identifiziert doppelte Codestellen, die oft auf nötige Refaktorings hinweisen, um die Wartbarkeit und das Design der Software schrittweise zu verbessern.

PMD und CPD lassen sich auf Projektebene aufrufen. Die Fehler erscheinen in nach Wichtigkeit absteigender Reihenfolge farbig markiert. Die Kategorien heißen: Blocker, Kritisch, Dringend, Wichtig und Warnung. Auch hier kann sich der Benutzer weitere Information zum gemeldeten Befund anzeigen lassen oder zu der betreffenden Codestelle springen. Das Verhalten von PMD lässt sich über die Preferences individuell anpassen (Abbildung 6).

Abbildung 6: Die PMD-Einstellungen lassen sich übersichtlich aufklappen.

Abbildung 6: Die PMD-Einstellungen lassen sich übersichtlich aufklappen.

Egit – Git Team Provider

Seit die Eclipse-Projekte mit der Release 4.3 vom CVS-Versionssystem auf das modernere Git-Versionssystem umgestellt haben, ist die Git-Integration von Release zu Release immer besser geworden. Inzwischen wird Egit [7] deshalb in den meisten Eclipse-Paketen als Teamprovider für das Versionskontrollsystem Git ausgeliefert. Ein Muss.

Maven mit M2e-Plugin

Hinter modernen Buildwerkzeugen wie Gradle ist Apache Maven etwas ins Hintertreffen geraten. Trotzdem ist Maven und die Nutzung von Maven-Repositories in vielen Projekten nach wie vor gesetzt. Das M2e-Plugin [8] ist für die Maven-Integration bei Eclipse zuständig und steckt im Lieferumfang jeder Eclipse-IDE. So wird die aktuelle Maven-Version 3.3.3 in der aktuellen Eclipse-Release 4.5 mit M2e 1.6 unterstützt. M2e 1.6 enthält Verbesserungen bei der Autovervollständigung, bei Änderungen des Project Object Model in der zugehörigen Pom.xml-Datei im Editor sowie eine bessere Archetype-Unterstützung. Die experimentelle Funktion, die automatisch Änderungen in Pom.xml auf die davon abhängigen Maven-Projekte anwendet, ist über die Preferences zu aktivieren.

Eclipse Code Recommenders

Das Plugin Eclipse Code Recommenders [9] will die Produktivität der Entwickler durch eine intelligente Codevervollständigung verbessern. Dabei wertet es den Editierkontext aus und vergleicht Codemuster mit gespeicherten Mustern anderer Programmierer in der zentralen Code-Recommender-Datenbank. Das Prinzip funktioniert erstaunlich gut und bewahrt Entwickler davor, sich im stetig wachsenden API-Dschungel zu verlaufen oder falsch abzubiegen.

Das Projekt entstand als Forschungsprojekt an der TU-Darmstadt. Es sei jedem Entwickler zum Ausprobieren und zum Verbessern seines Programmierstils empfohlen. Es ist in den Eclipse-Mars-Paketen für Java-EE-Developers, Java-Developers und RCP-/RAP-Developers standardmäßig aktiviert.

Thym für mobile Apps

Eclipse Thym ist ein Akronym und steht für “The Hybrid Mobile Project” [10]. Es soll die Entwicklung von hybriden mobilen Apps auf der Basis des Apache-Cordova-Framework voranbringen. Es werden mehrere Cordova-Ablaufumgebungen für die Plattformen I-OS, Android und Windows Phone (Abbildung 7) unterstützt. Da sich Red Hat hier stark engagiert, steckt Thym auch im Lieferumfang von Jboss Developer Studio.

Abbildung 7: Eine Auswahl der von Thym unterstützten Geräte.

Abbildung 7: Eine Auswahl der von Thym unterstützten Geräte.

Code-Reviews mit Gerrit

Code-Reviews sind nicht nur in vielen Open-Source-Projekten, sondern auch in vielen agilen Projekten Alltag. Das Code-Review-System Gerrit unterstützt und organisiert diese Arbeit so gut, dass es in diesem Bereich inzwischen zum De-facto-Standard geworden ist. Die Review-Einheit von Gerrit ist immer ein einzelner Git-Commit.

Um die Code-Review-Workflows möglichst komfortabel aus der Eclipse-Umgebung heraus zu gestalten, gibt es das neue Projekt Egerrit [11], das diese in Mylyn anzeigt und steuert. Das Projekt verweilt zwar noch im Inkubator-Zustand und es ist noch keine offizielle Release erschienen, das soll sich aber im dritten Quartal 2015 ändern. Egerrit ist dann ein Kandidat, den es lohnt, in die Projektarbeit mit Git zu integrieren.

Der Autor

Frank Pientka ist Senior Software Architect bei der Materna GmbH in Dortmund. Er ist zertifizierter SCJP und Gründungsmitglied des ISAQB. Als Autor des Buches zu Apache Geronimo beschäftigt er sich viel mit Java Open Source Software.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben