Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 1
7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 1. Java-Projekt mit Eclipse 2. HelloWorld Tutorial mit Ant in Eclipse Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 2
Aufgabe 1: Java-Projekt mit Eclipse Erstellen Sie ein neues Java Projekt, in welchem Sie eine Klasse programmieren, die auf der Konsole Hello World ausgibt, und in welchem Sie die Klasse kompilieren und ausführen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 3
Lösung 1: Java-Projekt mit Eclipse In diesem Projekt wird ein neues Java Projekt in Eclipse angelegt. Dann werden Java- Dateien kompiliert und ausführt. Wir werden ein neues Java Projekt erstellen eine Klasse programmieren, die auf der Konsole Hello World ausgibt die Klasse kompilieren und ausführen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 4
Lösung 1: Java-Projekt mit Eclipse Ein neues Projekt erstellen Um in Eclipse ein neues Java Projekt zu erstellen, klickt man auf File New Project. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 5
Lösung 1: Java-Projekt mit Eclipse Ein neues Projekt erstellen Im Dialog New Project wählt man Java Project aus. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 6
Lösung 1: Java-Projekt mit Eclipse Ein neues Projekt erstellen Im Dialog New Java Project kann man den Namen des Projekts festlegen. Außerdem kann man angeben, mit welcher Java Virtual Machine -Version das Projekt ausgeführt werden soll. Im Project Layout, kann man angeben, ob die Quellcodedateien und die kompilierten Java Dateien im selben Ordner oder getrennt abgelegt werden sollen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 7
Lösung 1: Java-Projekt mit Eclipse Eine neue Klasse im Projekt erstellen Um nun eine Klasse in unserem HelloWorldProjekt zu erstellen, öffnen wir das Kontextmenü des HelloWorldProjekt und klicken auf New Class. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 8
Lösung 1: Java-Projekt mit Eclipse Eine neue Klasse im Projekt erstellen Im New Java Class Dialog kann man den Namen der Klasse festlegen. Ausserdem kann automatisch das main() Methodengerüst generiert werden. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 9
Lösung 1: Java-Projekt mit Eclipse Programmierung der HelloWorld Klasse Nun kommen wir zur Programmierung der Klasse. Dank Eclipse müssen wir nur noch eine Zeile Code schreiben. System.out.println("Hello World"); Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 10
Lösung 1: Java-Projekt mit Eclipse Kompilieren und Ausführen der Klasse Um nun die programmierte Klasse HelloWorld zu kompilieren und auszuführen, kann man den grünen Play-Knopf in der Systemleiste klicken. Danach Run As Java Application. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 11
Lösung 1: Java-Projekt mit Eclipse Kompilieren und Ausführen der Klasse Falls alles mit richtigen Dingen vor sich geht, sieht man nun die Ausgabe im Konsolen- Fenster im unteren Bereich der Eclipse Oberfläche. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 12
2. Aufgabe: HelloWorld Tutorial mit Ant in Eclipse Ziele des Tutorials: Das Projekt vorbereiten build.xml Datei erstellen Targets ausführen build.xml Datei optimieren Ant automatisieren Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 13
2. Aufgabe: HelloWorld Tutorial mit Ant in Eclipse Ziel des Tutorials ist es, die kompilierten Class-Dateien vom Sourcecode zu trennen und die Vorgehensweise von Ant in Eclipse kennen zu lernen. Die Source-Dateien (.java) sollen im Ordner src/ abgelegt werden. Die kompilierten Dateien sollen unter build/ abgelegt werden. Die.class Dateien im Ordner build/classes/ Das ausführbare.jar-archiv im Ordner build/jar/ Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 14
2. Lösung: Projekt vorbereiten Eclipse starten. Neues Projekt anlegen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 15
2. Lösung: Projekt vorbereiten Dem Projekt einen src/ Ordner hinzufügen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 16
2. Lösung: Projekt vorbereiten HelloWorld.java in src/ anlegen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 17
2. Lösung: Projekt vorbereiten HelloWorld.java Sourcecode package helloworld; public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello World"); } Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 18
2. Lösung: build.xml Datei erstellen Das Build-Datei für dieses Projekt erstellen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 19
2. Lösung: build.xml Datei erstellen build.xml Code <project> <target name="clean"> <delete dir="build"/> </target> <target name="compile"> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes"/> </target> <target name="jar"> <mkdir dir="build/jar"/> <jar destfile="build/jar/helloworld.jar" basedir="build/classes"> <manifest> <attribute name="main-class value="helloworld.helloworld"/> </manifest> </jar> </target> <target name="run"> <java jar="build/jar/helloworld.jar" fork="true"/> </target> </project> Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 20
2. Lösung: build.xml Datei erstellen Ant Ansicht einblenden. Die Build-Datei in die Ansicht aufnehmen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 21
2. Lösung: Targets ausführen Um nun ein Target auszuführen, wähle das Target aus und klicke auf den grünen Run Button. Wähle das compile Target aus. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 22
2. Lösung: Targets ausführen Nun sollte in Konsolen-Fenster von Eclipse eine Ausgabe wie diese erscheinen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 23
2. Lösung: Targets ausführen Achtung (je nach neuerem Update von Eclipse 3.1 eventuell bereits behoben): Falls im Konsolen-Fenster von Eclipse eine Meldung angezeigt wird, dass der Compiler nicht gefunden werden kann, handelt es sich um einen Bug in Eclipse. Dieser ist aber relativ einfach zu beheben. Kontrolliere die Umgebungsvariable JAVA_HOME. Alles i.o.? Erstelle einen Link auf eclipse.exe, in den Eigenschaften des Links unter Ziel gibst du folgendes ein. C:\Prpgramme\eclipse\eclipse.exe -vm %JAVA_HOME%\bin\javaw.exe Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 24
2. Lösung: Targets ausführen Führe nun nacheinander clean, compile, jar und run aus. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 25
2. Lösung: build.xml Datei optimieren Wie Sie bestimmt bemerkt haben, sind die Verzeichnisse fest einprogrammiert. Natürlich gibt es auch eine schönere Variante. Property ist vergleichbar mit Variablen und ermöglichen die einmalige Deklaration der Pfade. Bsp: <property name="src.dir" value="src"/> Außerdem kann man Targets voneinander abhängig machen. Z.B. sollte es nicht möglich sein, eine neue jar-datei zu erstellen, bevor nicht alle Dateien neu kompiliert wurden. Bei jedem Target kann angegeben werden, von welchem anderen Target es abhängig ist. Bsp: <target name="jar" depends="compile"> Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 26
2. Lösung: build.xml Datei optimieren <project name="hello World" basedir="." default="main" <property name="src.dir" value="src"/> <property name="build.dir" value="build/"/> <property name="classes.dir" value="${build.dir}/classes/"/> <property name="jar.dir" value="${build.dir}/jar/"/> <property name="main-class" value="helloworld.helloworld"/> <target name="clean"> <delete dir="${build.dir}"/> </target> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}"/> </target> <target name="jar" depends="compile"> <mkdir dir="${jar.dir}"/> <jar destfile="${jar.dir}/${ant.project.name}.jar basedir="${classes.dir}"> <manifest> <attribute name="main-class" value="${main-class}"/> </manifest> </jar> </target> <target name="run"> <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/> </target> <target name="clean-build" depends="clean,jar"/> <target name="main" depends="clean,compile"/> <target name="all" depends="clean,jar,run"/> </project> Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 27
2. Lösung: Ant automatisieren Eclipse bietet die Möglichkeit, Builds automatisch zu erstellen. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 28
2. Lösung: Ant automatisieren Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 29
2. Lösung: Ant automatisieren Wählen Sie bei After a Clean, Manual Build und Auto Build unser default target (main) aus. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 30
2. Lösung: Ant automatisieren OK klicken. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 31
2. Lösung: Ant automatisieren. Jetzt muss unter Project nur noch die Option Build automatically angewählt werden. Jedes mal, wenn nun Änderungen gemacht und die Änderungen gespeichert werden, läuft automatisch das main-target der Build-Datei ab. Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools 29.03.2006 32