Uni-Logo

Programmieren in Java : Tools

Tools

Dieser Kurs verwendet Java (ab JDK 1.5) und Eclipse (ab 3.5). In manchen Übungen wird das Spieleframework Twodeedoo eingesetzt.

Anleitungen

Installfest

In der ersten Vorlesung am 2. Mai ist Installfest, d.h. wir richten gemeinsam die Arbeitsumgebung ein. Wer einen Laptop hat, möge ihn bitte mitbringen.

Zur Vorbereitung installieren Sie bitte schon vorher (damit das WLAN im 101er nicht kollabiert):

Wer schon vorher eine 3.5er oder 3.6er Eclipse mit Java Development Tools hat (erkennbar am verfügbaren Projekttyp "Java Project"), kann sie behalten.

Das Eclipse-Paket aus neueren Ubuntu-Versionen sollte auch funktionieren; evtl geht es bei Ihnen entweder mit OpenJDK oder mit SunOracle-JDK besser.

Coding Rules

Wir benutzen Checkstyle, um die Einhaltung der Kodierrichtlinien zu prüfen. Der Default-Regelsatz wendet sehr viele Regeln an; wir haben eine Einschränkung auf das Nötigste vorgenommen und bieten einen Regelsatz als Eclipse-Plugin an.

Installation

  1. Installieren Sie das Checkstyle-Plugin für Eclipse:
    • Wählen Sie Menüeintrag "Help/Install new software..."
    • Im Install-Dialog geben Sie ins oberste Feld eine Update-Site-URL ein: http://eclipse-cs.sf.net/update
    • In der Baumansicht in der Mitte klappen Sie den Knoten "Checkstyle" auf und kreuzen "Eclipse Checkstyle Plugin" an (nicht das optionale Migrations-Paket)
    • Drücken Sie auf "Next" und folgen Sie der Installation (Lizenz (LGPL), Neustart von Eclipse...).
  2. Installieren Sie die Javakurs-Kodierrichtlinien:
    • Wieder "Help/Install new software...", aber nun mit URL http://proglang.informatik.uni-freiburg.de/teaching/java/2011/ex/update/
    • Kreuzen Sie "Checkstyle-Parameter Javakurs Uni Freiburg SS2011" in der höchsten verfügbaren Version an
    • "Next", Lizenz, etc wie oben

Installationsdialog

Einbindung

Um ein Projekt nach den Kodierrichtlinien zu prüfen:

Checkstyle-Seite des Project-Properties-Dialogs

  1. Öffnen Sie den Project-Properties-Dialog (Rechtsklick aufs Projekt, Properties...)
  2. Wählen Sie links "Checkstyle" aus, um rechts die Checkstyle-Einstellungen zu bekommen
  3. Kreuzen Sie rechts "Checkstyle active for this project" an
  4. Wählen Sie in der Drop-Down-Box "proglang-checkstyle-v1" aus

Projekte aus ZIP importieren

Zu manchen Aufgaben bekommen Sie ein vorbereitetes Eclipse-Projekt in einem ZIP-File als Skelett. Importieren Sie es folgendermaßen in Ihren Eclipse-Workspace:

  1. Laden Sie das ZIP-File herunter und merken Sie sich, wo es gelandet ist.
  2. Öffnen Sie im Project Explorer per Rechtsklick das Kontextmenü und wählen Sie "Import".
  3. Unter den vielen möglichen Importwizards wählen Sie (verwirrenderweise) "General/Existing Projects into Workspace".

    Existing Projects Into Workspace
  4. Im "Import Projects"-Dialog wählen Sie oben "Select archive file" und suchen das heruntergeladene ZIP-File aus (Browse-Button oder Pfad eingeben).

    Import Projects
  5. Im mittleren Bereich des Dialogs sollte nun eine Liste von Projekten mit einem angekreuzten Projekt zu sehen sein.
  6. Wählen Sie "Finish". Sie sollten nun ein neues Projekt im Workspace haben.
  7. Aktivieren Sie Checkstyle auf dem Projekt und vergewissern Sie sich, dass nach den Regeln "proglang-checkstyle-v1" geprüft wird.

Abgaben als ZIP

Wenn auf dem Blatt nichts anderes steht, geben Sie das Eclipse-Projekt zur jeweiligen Aufgabe als ZIP-Datei ab. Angenommen, Sie heißen Peter Lustig, Username lustigp, und haben gerade Blatt 1, Aufgabe 1 gelöst. Auf dem Blatt steht was von Project: ex1_1.

Rechtsklicken Sie auf die Wurzel des Projekts. Im Kontextmenü wählen Sie "Export...", dann "General/Archive File":

Export-Dialog

Im Exportdialog kontrollieren Sie, dass Sie die Wurzel des Projekts erwischt haben (und nicht nur ein Unterverzeichnis). Sollte so aussehen wie im Bild. Unter "To Archive File" wählen Sie aus, wo die ZIP-Datei hinsoll. Der Name der ZIP-Datei soll sich zusammensetzen aus Username und Aufgabe, also in dem Fall lustigp-ex1_1.zip.

Export-ZIP-Dialog

Schicken Sie nun die ZIP-Datei an den Tutor zur Korrektur.

JUnit ins Projekt einbinden

Damit Sie in einem Projekt Unittests mit JUnit durchführen können, müssen Sie einmalig die JUnit-Libraries ins Projekt einbinden. Wir empfehlen den Weg über den Wizard, der neue JUnit-Testklassen anlegt.

  1. Rechtsklicken Sie auf das Package, in dem die JUnit-Testklasse liegen soll.
  2. Wählen Sie im Kontextmenü "New/JUnit Test Case".
  3. New-Testclass-Dialog

    Sie wollen eine Testklasse für die aktuelle JUnit-Version 4. Geben Sie auch einen Klassennamen für die Testklasse an. Kreuzen Sie auch "Generate comments" an.
  4. Wenn das Ihre erste Testklasse im Projekt ist, bietet Ihnen der Wizard an, die JUnit-Libraries einzubinden. Das Angebot gilt es anzunehmen.

    Not on build path-Dialog `
  5. Kontrolle: im Baum des Eclipse-Package-Explorers sollte unterhalb Ihres Projekts ein Knoten "Junit 4" mit Bücherstapel-Icon erschienen sein.

Sie können nun alle Tests des Projekts laufen lassen, indem Sie auf der Wurzel des Projekts im Kontextmenü "Run As/JUnit Test" auswählen. Sie können auch eine einzige Testklasse laufen lassen, indem Sie denselben Menübefehl auf dem Baumknoten einer Testklasse ausführen.

Twodeedoo in ein Projekt aufnehmen

Twodeedoo wird als Java-Bibliothek im Jar-Format geliefert. Es gibt in Eclipse verschiedene Weisen, ein Jar einzubinden; je nachdem, ob man es ins Projekt hineinkopiert oder woanders lagert. Wir beschreiben hier den Weg, bei dem das Jar ins Projekt hineinkopiert wird. So ist das Projekt eine für sich allein lauffähige Einheit; auch die Abgabe an den Tutor gestaltet sich einfacher. Dafür werden so pro Projekt knapp 80KB feinsten Festplattenplatzes verschwendet.

Es gibt zwei Downloads auf der Seite:

  1. Das Library-Jar twodeedoo-2.x.y.jar
  2. Leerprojekt mit Twodeedoo skeleton-with-twodeedoo-2.x.y.zip

Kurzer Weg: mit Leerprojekt

Wenn Sie ein neues Projekt mit Twodeedoo anfangen wollen, können Sie auf das Leerprojekt zurückgreifen. Laden Sie es herunter und verfahren Sie wie in der Import-Anleitung.

Nun haben Sie ein neues Projekt mit blödem Namen im Workspace. Selektieren Sie das Projekt, und wählen Sie "Refactor/Rename" im Kontextmenü, um es umzubenennen.

Das war's schon. Sie können jetzt Welten bauen.

Langer Weg: Jar in Projekt dazukopieren

Wenn Sie in ein bestehendes Projekt eine Bibliothek einfügen wollen, müssen Sie zunächst das Library-Jar ins Projekt hineinkopieren.

  1. Legen Sie mit New/Folder einen Ordner "lib" in der Wurzel des Projektes an.
  2. Öffnen Sie den Import-Wizard, und wählen Sie "General/File System".

    Import-Dialog
  3. Wählen Sie im oberen Bereich das heruntergeladene Jar.
  4. Wählen Sie in "Into folder:" mit dem Browse-Button den lib-Ordner aus, den Sie angelegt haben.
  5. Finish!
  6. Nun müsste im Project-Explorer das Jar zu sehen sein.

Jar in Classpath einbinden

Durch Hineinkopieren allein ist das Jar noch nicht eingebunden. Der Classpath ist die Liste der Libraries, die auf der Suche nach Klassen herangezogen werden. Man kann den Classpath pro Projekt einstellen.

  1. Öffnen Sie den Properties-Dialog des Projektes.

    Java-Build-Path-Dialog
  2. Blättern Sie links zu "Java Build Path".
  3. Wählen Sie rechts den Reiter "Libraries".
  4. Wählen Sie "Add JARs" und markieren Sie im nun folgenden Dialog das hineinkopierte Jar in Ihrem Projekt.

    Add Jars-Dialog
  5. Noch Properties-Dialog schließen. Fertig!