Ausarbeitung Apache Ant

Größe: px
Ab Seite anzeigen:

Download "Ausarbeitung Apache Ant"

Transkript

1 Westfälische Wilhelms-Universität Münster Ausarbeitung Apache Ant Im Rahmen des Seminars Software Engineering Robin Trenkner Themensteller: Prof. Dr. Herbert Kuchen Betreuer: Christian Hermanns Institut für Wirtschaftsinformatik Praktische Informatik in der Wirtschaft

2 Inhaltsverzeichnis 1 Einleitung Grundlagen Bulid-Tools Apache Ant Basiselemente von Apache Ant Project Target Task Property Fileset Kommandozeilenoptionen von Ant Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen JUnit Testing mit Apache Ant Vergleich mit dem Build-Tool Make Vergleich mit dem Build-Tool Maven Fazit und Ausblick Literaturverzeichnis II

3 Kapitel 1: Einleitung 1 Einleitung Die Software-Entwicklung gestaltet sich immer mehr zu einer komplexen und im Gesamten unübersichtlichen Aufgabe. Selbst kleine Anwendungen bestehen aus Abhängigkeitsbäumen mit mehreren hundert Methoden. Zur Vereinfachung der Prozesse der Kompilierung, der Wartung, des Testens, des Deployens und vielen anderen, werden Build-Tools eingesetzt. Um die Verwendung von Build-Tools führt heute schon bei kleineren Projekten kein Weg mehr vorbei, andernfalls wäre die Effektivität des Entwicklungsprozesses deutlich gefährdet. Ein, in der Praxis, weit verbreitetes Build-Tool nennt sich Ant und wird von der Apache Software Foundation als Open-Source-Software vertreiben. Im 2. Kapitel dieser Ausarbeitung wird zunächst der Begriff des Build-Tools beschrieben und erläutert, im weiteren Verlauf wird auf das Build-Tool Ant eingegangen. Im dritten Abschnitt wird das Kernthema vertieft, indem das Java-basierte Tool Ant genauer beschrieben wird. Hier wird vereinzelt auf die Basiselemente von Ant eingegangen, die teilweise mit ausgewählten Beispielen erklärt werden sollen. Nachdem die wichtigsten Elemente von Ant bekannt sind, wird sich dem JUnit-Testen als eines der zentralen, erweiterbaren von Funktionalitäten von Ant, gewidmet. Mit dem Bezug auf die agilen Methoden der heutigen Softwareentwicklung ist ein starker Bezug zur Realität gegeben. Im weiteren Verlauf des 4. Kapitels wird Ant mit dem alten Build- Tool Make und seinem designierten Nachfolger Maven verglichen. Diese Ausarbeitung schließt mit einem Fazit und Ausblick in Kapitel 5. 2 Grundlagen 2.1 Bulid-Tools Generell kann unter einem Build-Tool ein Werkzeug verstanden werden, das den vorhandenen Quellcode mit minimalem Aufwand in eine Zielsprache überführt. Gerade bei komplexen Programmieraufgaben ist dieses Überführen keine triviale Aufgabe, die der Anwender effizient und ohne hohen Aufwand selbst durchführen kann. Oft genügt es beispielsweise, wenn nur einzelne (von Änderungen betroffene) Module eines 1

4 Kapitel 2: Grundlagen Softwareprojekts re-kompiliert werden. In der Regel bestehen zwischen verschiedenen Modulen (z.b. Klassen) Abhängigkeiten, was bei einer Änderung gegebenenfalls dazu führen kann, dass Anpassungen notwendig sind. Dies manuell durchzuführen würde bei komplexen Programmierprojekten ein nur sehr schwer zu bewältigender Vorgang darstellen, der sehr fehleranfällig wäre. Aus dieser Motivation heraus entstand die Idee Build-Tools zu erstellen. Im optimalen Fall ist ein gutes Build-Tool in der Lage Abhängigkeiten aufzulösen und zu erkennen, welche Dateien bzw. Klassen neu kompiliert werden müssen. Des Weiteren kann es Dokumentationen erzeugen, Units testen, das Produkt packen, deployen und dynamischen Quellcode erzeugen. Im Laufe der Zeit und mit der Entwicklung mächtigerer Build-Tools stellten Build-Tools weitere Aktionen zur Verfügung, wofür insbesondere Apaches Ant ein gutes Beispiel ist. Um den Zweck und Nutzen von Build-Tools zu verdeutlichen, vergleichen HATCHER und LOUGHRAN das Build-Tool mit einer modernen, automatischen Auto-Fabrik und den selbst geschriebenen Quellcode mit dem Rohmaterial [HL04, S.34]. Auch wenn dieser Vergleich auf dem ersten Blick sehr oberflächig erscheint, so ist er im Prinzip doch anwendbar: Autos wurden in den Anfangsjahren der Entwicklung größtenteils manuell gefertigt, heute werden diese automatisch von Werkzeugen (Robotern) effizient und erfolgreich realisiert, genauso wie es Build-Tools mit den komplexen Softwareprojekten handhaben. 2.2 Apache Ant Bei Ant handelt es sich um ein etabliertes Build-Tool, das in Java geschrieben wurde. Entwickelt wurde das Programm ursprünglich als Build-Tool für den Tomcat Server im Jahre 1998 von James Duncan Davidson. Der Name Ant steht für die Abkürzung Another Neat Tool (dt.: Noch ein hübsches Werkzeug ). Im Laufe der Zeit verlor die eigentliche Bedeutung dieser Abkürzung an Bedeutung und die Analogie zu dem Insekt Ameise (engl.: Ant ) wurde prägend für das Build-Tool. Der Vergleich des Tools mit dem Insekt kommt nicht von ungefähr, denn [HL04, S.33]: Ameisen suchen den kürzesten Weg, um Hindernisse zu umgehen Ameisen könnten das 50-fache ihres eigenen Gewichts tragen Ameisen arbeiten rund um die Uhr; aufgeteilt in Schichten All diese Eigenschaften können auch auf das Build-Tool sinngemäß übertragen werden. 2

5 Kapitel 3: Basiselemente von Apache Ant Apache Ant dient zur automatischen Generierung von Programmen aus Quelltext und erweitert die Funktionalität von Entwicklungsumgebungen. Die aktuellste Version von Ant ist Wie bei der Apache Software Foundation üblich, handelt es sich bei Ant um ein Open-Source Projekt. Durch die Realisierung in Java benötigt Ant in jedem Fall eine (aktuelle) Java-Laufzeitumgebung (JDK, damit alle Möglichkeiten genutzt werden können), hierdurch ergibt sich ein großer Vorteil von Ant: Die Plattform- Unabhängigkeit. Der Einsatz von Ant lohnt sich, ähnlich wie bei anderen Build-Tools erst wenn der Programmieraufwand entsprechend hoch ist und eine Komplexität an Programmieraufgaben gegeben ist [Ma05, S.1]. Dies begründet sich unter Anderem darin, dass ein relativ großer Einarbeitungsaufwand notwendig ist, um Ant effektiv und im großen Umfang nutzen zu können. In der (Java-) Praxis hat Ant weitestgehend das Build-Tool make abgelöst [ES06, S.7]. Ant hat sich innerhalb weniger Jahre zum De-facto-Standard nicht nur für Open- Source-Java-Projekte entwickelt, sondern wurde auch in eine große Anzahl kommerzieller Produkte eingebaut. Sogar für Microsofts Entwicklungsumgebung.NET existiert ein erfolgreicher Clone [HL04, S. 19]. Als Gründe für den Erfolg kann unter anderem das Leistungsverhalten, die Community, die Abwärtskompatibilität, sowie erweiterbare Architektur angesehen werden. Beispielsweise stellt die Einbindung des Java-Test-Tools JUnit einen Vorteil von Ants Erweiterbarkeit dar, auf die im späteren Verlauf noch eingegangen wird. Als Nachfolger von Ant ist Apache Maven zu verstehen, welches versucht den Build-Prozess etwas abstrakter zu beschreiben. 3 Basiselemente von Apache Ant Die Aufgaben, die Ant erfüllen kann, bestehen darin Gruppen von Dateien zu spezifizieren und auf diese bestimmte Kommandos und/oder Operationen anzuwenden. Beispiele hierfür wären: Den Java-Compiler aufrufen, Dateien kopieren, Archive erstellen, Dateien deployen, usw.. Ant ist somit geeignet, um aus gegebenen Java- Quellcode eine komplette, installierbare Anwendung zu generieren. Anhand des Funktionsumfangs wird deutlich, dass auch Einsatzszenarien bestehen, bei denen Ant 1 Stand: Oktober Aktuelle Version kann auf der Homepage des Apache Ant Projekts eingesehen und heruntergeladen werden: 3

6 Kapitel 3: Basiselemente von Apache Ant ohne Programmierung eingesetzt werden kann: Bspw. um effektiv Dateien zu kopieren. Die Build-Language von Apache Ant ist XML-basiert, die Konfiguration eines Projektes wird entsprechend in der Datei build.xml festgelegt (die Build-Datei kann einen beliebigen Dateinamen besitzen, build.xml ist lediglich die Standardbezeichnung). Um einen groben Überblick von Ant zu bekommen bietet es sich an, die Grundlegenden Basiselemente des Build-Tools zu betrachten. Properties Properties Properties Properties Task Task Task Task Task Task Task Task Task Task Task Task Target Target Target Abbildung 1: Grundlegende Elemente einer Build-Datei Die Abbildung 1 veranschaulicht die grundlegenden Elemente einer Build-Datei von Ant, auf die in den folgenden Unterkapiteln im Einzelnen näher eingegangen wird. 3.1 Project Jede XML-Build-Datei beschreibt wie ein Projekt erstellt wird. Es besteht die Möglichkeit größere Projekte aus mehreren kleinen Projekten zusammenzusetzen, hierbei besitzen die Unterprojekte jeweils eine eigene Build-Datei. Bei dem Projekt handelt es sich somit um das umfassende Objekt, das die Ablaufumgebung für die Kommandos darstellt [HL04, S.36; Ma05, S.6f.]. Beispiel-Deklaration eines Projekts: <?xml version="1.0" encoding="utf-8"?> <project name="testproject" default="main" basedir="."> </project> 4

7 Kapitel 3: Basiselemente von Apache Ant Bei der ersten Zeile, die am Anfang jeder Build-Datei zu finden ist, handelt es sich um eine XML-typische Anweisung, in der hauptsächlich die Zeichenkodierung festgelegt wird (hier: UTF-8). In der zweiten Zeile mit dem <project>-tag beginnt das eigentliche Projekt innerhalb der Build-Datei. Mit der Hilfe des Attributs default wird das zu startende Target definiert, wenn kein anderes beim Aufruf der Build-Datei explizit angegeben wird. Das Attribut basedir definiert das Arbeitsverzeichnis des Skriptes, für den Fall dass vom Standard (Verzeichnis in dem sich das Skript befindet) abgewichen werden soll, kann hier eine Zuweisung erfolgen [ES06, S.14; Ma05, S.8f.]. 3.2 Target Ein Target umfasst ein oder mehrere Tasks und bildet den Container für die eigentlichen Operationen, die mit den Tasks ausgeführt werden. Targets besitzen einen eindeutigen Namen innerhalb der Build-Datei des Projekts, dieser dient zur späteren Identifizierung. Mit Hilfe der Targets lässt sich die Build-Datei übersichtlich strukturieren, es ist die einzig echte Modularisierungseinheit, die Ant kennt. [Ma05, S.17]. Um die gewünschte Ablaufsteuerung zu realisieren verfügt das <target>-tag über verschiedene Attribute: Attribut Beschreibung erforderlich name Name des Targets. Ja depends Target wird erst gestartet, wenn die Targets aus Nein der Liste erfolgreich ausgeführt wurden. Targets innerhalb der Liste werden durch Kommas getrennt. if Wenn das angegebene Property existiert wird das Nein Target ausgeführt, andernfalls nicht. unless Pendant zu if: Wenn das angegebene Property Nein nicht existiert wird das Target ausgeführt. description Kurze Beschreibung der Funktion des Targets. Wird angegeben wenn Ant mit entsprechender Kommandozeilenoption aufgerufen wird ( - projecthelp ) Nein Tabelle 1: Attribute für das <target>-tag [AA08] Mit der Hilfe des depends Attributes können statische Abhängigkeiten definiert werden. Erfolgreiche Ausführung bedeutet nicht, dass das Target wirklich etwas getan haben muss, vielmehr ist hiermit der Umstand gemeint, dass keine Exception während 5

8 Kapitel 3: Basiselemente von Apache Ant der Ausführung auftrat [Ma05, S.18]. Das folgende Beispiel zeigt mögliche statische Abhängigkeiten: <project name="demo_abhaenigkeiten" default="target1"> <target name="target1" depends="target 2,target4"> <echo message="target1 ausgeführt"/> </target> <target name="target2" depends="target3"> <echo message="target2 ausgeführt"/> </target> <target name="target3" depends="target4"> <echo message="target3 ausgeführt"/> </target> <target name="target4"> <echo message="target4 ausgeführt"/> </target> </project> Der Aufruf dieses Projektes ohne weitere Parameter liefert folgende Ausgabe: Target4 ausgeführt Target3 ausgeführt Target2 ausgeführt Target1 ausgeführt Die Abhängigkeiten der Targets innerhalb dieses Mini-Projektes können wie folgt dargestellt werden. Abbildung 2: Abhängigkeiten der Targets untereinander Ant führt jedes Target nur einmal aus und prüft vorher die Abhängigkeiten, die das depends-attribut überliefert. Target4 besitzt keine Vorbedingungen (vgl. Abbildung 1) und wird somit als erstes abgearbeitet. Hiernach sind Target3, Target2 und schließlich Target1 an der Reihe. Hierbei wird deutlich, dass das depends Attribut lediglich Voraussetzungen definiert. Das Beispiel zeigt dass die Targets nicht gezwungenermaßen in der Reihenfolge abgearbeitet werden müssen, in der sie bei depends aufgezählt wurden. An dieser Stelle sei erwähnt dass Targets mit 6

9 Kapitel 3: Basiselemente von Apache Ant entsprechenden Kommandozeilenoptionen direkt angesprochen werden können. Beispiel: ant f demo_abhaengigkeiten.xml target2. Hier ignoriert Ant das default- Attribut des Projektes und versucht direkt Target2 auszuführen. Aufgrund der Abhängigkeiten werden zunächst Target4 und Target3 aufgerufen, Target1 wird nicht mehr berücksichtigt/ausgeführt. Ein weiteres kleines Beispiel illustriert die bedingten Wahrscheinlichkeiten, die mit den beiden Attributen if und unless realisiert werden können. <project name="unlessif" default="main" basedir="."> <target name="main" depends="target1, target2, target3"/> <target name="target1" if="prop1"> <echo message="property1 existiert"/> </target> <target name="target2" unless="prop1"> <echo message="property1 existiert nicht"/> </target> <target name="target3" if="prop1" unless="prop2"> <echo message="property1 existiert und Property2 nicht"/> </target> </project> Target1 wird nur ausgeführt, wenn das Property prop1 existiert, Target2 hingegen nur wenn Property1 nicht existiert. Target3 wird nur ausgeführt, wenn Property1 definiert und Property2 nicht definiert wurde. Entsprechend gibt es mehrere mögliche Kommandozeilen-Aufrufe dieser unlessif.xml: 3.3 Task Kommando ant-f unlessif.xml ant-f unlessif.xml Dprop1=x ant-f unlessif.xml Dprop1=x Dprop2=x ant-f unlessif.xml Dprop2=x echo-ausgabe Property1 existiert nicht Property1 existiert, Property1 existiert und Property2 nicht Property1 existiert Property1 existiert nicht Tabelle 2: Verschiedene Kommandos und Ausgaben fürs obere Beispiel Wie schon bei den Targets beschrieben, handelt es sich bei den Tasks um die eigentlichen, ausführbaren Operationen. Ant stellt bereits vorgefertigte Tasks für unterschiedliche Aufgaben zur Verfügung. Für den Fall, dass der Benutzer einen Task benötigt, der standardmäßig nicht in Ant vorhanden ist, so kann dieser leicht in Java programmiert werden und Ant um diesen Task erweitert werden, was zu den 7

10 Kapitel 3: Basiselemente von Apache Ant Hauptstärken von dem Build-Tool Ant zählt. Tabelle 3 enthält eine Auswahl grundlegender Ant-Tasks. Zu den vordefinierten Tasks gehören jeweils verschiedene Attribute bzw. Parameter um die Aufgabe einzugrenzen und steuern zu können. Diese sind in der folgenden Tabelle nicht enthalten. Task ant antcall copy, delete, move echo exec get jar, java, javac, rmic, war javadoc/javadoc2 mail mkdir property sql sync waitfor gzip,gunzip, tar, untar, zip, unzip Bedeutung Separater Aufruf einer Build-Datei. Target aus aktueller Build-Datei aufrufen. Datei/Verzeichnis-Operationen: Kopieren, Löschen, Verschieben. Nachricht während der Skript-Ausführung ausgeben (an Logger / Listener). Systemaufruf (z.b..batch-dateien). Datei von URL herunterladen. Operationen für Java. Dokumentation mit dem Javadoc-Tool erstellen. Versenden einer (z.b.: Statusbericht). Verzeichnis erstellen. Property (Variable) im Projekt setzen. SQL Statements mittels JDBC auf eine Datenbank anwenden. Synchronisation eines Verzeichnisses. Operationen blockieren (z.b. für eine bestimmte Zeit). Archivoperationen. Tabelle 3: Auswahl grundlegender Ant-Tasks [AA08] Im Regelfall werden Tasks immer Targets zugeordnet, um einen geregelten Ablauf zu gewähren. Einen Sonderfall stellen Tasks dar, die außerhalb platziert sind (innerhalb des <projects>-tags und somit immer ausgeführt werden, wenn die Build-Datei mit Ant gestartet wird. 3.4 Property Properties stellen in Ant einen Platzhalter für einen Wert dar. Es existieren verschiedene Wege, um einem Property einen Wert zuzuweisen (z.b.: Aufruf einer Build-Datei mit entsprechendem Parameter oder direkt in der Build-Datei). Properties können Zeichenketten aufnehmen, deren Länge theoretisch unbegrenzt ist und können zu einem beliebigen Zeitpunkt im Build-Prozess erzeugt werden. Wurde einem Property ein Wert 8

11 Kapitel 3: Basiselemente von Apache Ant zugewiesen, so kann dieser später nicht mehr verändert werden sondern bleibt während des Build-Prozesses zwangsläufig unverändert. Das Löschen eines Properties wird ebenfalls nicht zugelassen. Properties sind vor allem dafür zuständig die Ablaufumgebung einer Build-Datei zu generieren, meistens werden sie aus separaten Property-Dateien erzeugt. Beispiel für eine Property-Definition innerhalb einer Build-Datei: <property name="dir.build" value="./classes"/> Mit der Hilfe des <property> - Tags werden Properties definiert, value weist dem Property einen Wert zu. Hier handelt es sich um ein Property, das den Pfad für die kompilierten Klassen bereit stellt. Der Zugriff auf Properties erfolgt immer in folgernder Form: ${Property-Name} <mkdir dir="${dir.build}"/> Dieser Task beispielsweise erstellt ein Verzeichnis mit dem Namen classes. Neben der Möglichkeit Properties innerhalb der Build-Datei zu erzeugen, gibt es weitere Mechanismen zur Definition von Properties [Ma05, S. 24]. Beispielsweise können Properties aus einer Datei ausgelesen werden, des Weiteren erzeugen diverse Tags Properties um Statusinformationen bereit zu stellen. Ant bzw. die JVM stellt ebenfalls einige allgemein gültige Properties zur Verfügung (Beispiele: java.version, os.name, ant.version). <property file= my.properties prefix= my /> Mit der obigen Zeile werden Properties aus der Datei my.properties in dem aktuellen Arbeitsverzeichnis eingelesen. Selbstverständlich könnte hier anstelle des Dateinamens auch ein Property stehen. Mit der Hilfe von prefix erhalten alle Properties den prefix my womit verhindert werden soll, dass Konflikte auftreten weil bereits Properties mit dem gleichen Namen wie in der Property-Datei bestehen. Innerhalb der Property-Datei sind die Properties wie folgt zu definieren: <key>=<value>. 3.5 Fileset Wie in Abschnitt 2.2 beschrieben, besteht die eigentliche Aufgabe von Ant darin, Dateien mit bestimmten Operationen zu bearbeiten. Mit der Hilfe von Filesets können Listen von einer oder mehreren Dateien spezifiziert werden, dies macht sie zu einen der 9

12 Kapitel 3: Basiselemente von Apache Ant wichtigsten Elemente von Ant überhaupt [Ma05, S. 40]. Bei dem <fileset>-tag handelt es sich nicht um kein separat ausführbares Kommando, vielmehr wird es immer von anderen Kommandos als eigebettetes Tag benutzt. Zur Auswahl der Dateien stehen zwei unterschiedliche Methoden bereit: Selektion von Dateien über Muster, die sich auf Pfad und Dateinamen beziehen Auswählen der Dateien durch Selektoren, die Dateien anhand bestimmter Eigenschaften selektieren (z.b.: Datum, Länge, bestimmter Text ist in der Datei vorhanden) In der nachfolgenden Tabelle 4 sind die Attribute des <fileset>-tags aufgelistet und kurz erläutert: includesfile excludes excludesfile Attribut Beschreibung erforderlich dir Wurzelverzeichnis des Filesets. entweder file Benötigt für ein Fileset mit nur einer Datei. oder default- Legt fest, ob spezielle Dateien automatisch Nein excludes includes casesensetive followsymlinks errormissingdir Beispiel Fileset: ausgeschlossen werden. Default=true. Dateien die beachtet werden sollen (durch Komma oder Leerzeichen getrennt), Muster können angegeben werden. Default= alle Dateien werden betrachtet. Datei, mit Liste der zu betrachtenden Dateinamen, Muster können angegeben werden. Dateien, die auszuschließen sind (durch Komma oder Leerzeichen getrennt), Muster können angegeben werden. Datei, mit Liste der nicht zu betrachtenden Dateinamen. Groß-/Kleinschreibung berücksichtigen? Default=true. Sollen Symlinks verfolgt werden? Default=true. Symlinks sind auf UNIX-Systemen bereits länger bekannt und ab Vista auch auf Windows- Plattformen verfügbar. Nicht zu verwechseln mit normalen Verknüpfungen! Spezialisiert, was passiert wenn das Arbeitsverzeichnis nicht existiert. True: Build Error, false: Fileset wird ignoriert / ist leer. Default seit Ant 1.7.1= true. Tabelle 4: Attribute des Fileset-Tags [AA08] Nein Nein Nein Nein Nein Nein Nein <copy todir= ${target.dir} > <fileset id= copytest dir= ${source.dir} > <includes= **/*.java /> 10

13 Kapitel 3: Basiselemente von Apache Ant <eclude= **/*Test /> </fileset> </copy> In dem genannten Beispiel werden alle Dateien mit der Endung.java, die im Text nicht Test enthalten, kopiert. Der Quell- und Ziel-Ordner sind in den Properties source.dir und target.dir zuvor definiert worden (bspw. durch einen entsprechenden Aufruf der Build-Datei). Durch die zugewiesene ID kann das Fileset später an anderer Stelle referenziert werden. 3.6 Kommandozeilenoptionen von Ant In Abschnitt 3.3 wurde beim Beispiel für bedingte Wahrscheinlichkeiten für Targets (if- und unless-attribute) eine Kommandozeilenoption von Ant gezeigt, mit deren Hilfe Properties durch den Aufruf gesetzt werden können. Nachdem in den vorausgegangenen Kapiteln wichtige Basiselemente von Ant betrachtet wurden, ergibt es Sinn einen Überblick über die Startparameter von Ant zu bekommen, weil sich diese konkret auf den Build-Prozess auswirken können (siehe das Beispiel für bedingte Wahrscheinlichkeiten). In Tabelle 1 sind einige wichtige Kommandozeilenoperationen von Ant aufgelistet und zusammengefasst (die komplette Liste findet sich in der Ant Benutzer-Dokumentation [AA08]). Option Bedeutung -help, -h Zeigt die kompletten Kommandozeilenoptionen von Ant an. -projecthelp, -p Zeigt Informationen übr das aktuelle Projekt an. -quiet, -q Extra wenige Meldungen ausgeben. -verbose, -v Extra viele Meldungen ausgeben. -lib <path> Pfad, auf dem nach Jar-Dateien und Klassen gesucht werden soll. -logfile <file> Log in eine bestimmte Datei schreiben. -l <file> -buildfile/file <file> Die angegebene Build-Datei verwenden (ohne -f <file> Angabe: build.xml). -D<property>=<value> <property> auf den Wert <value> setzen. -keep-going Alle Targets ausführen, die nicht von -k gescheiterten Targets abhängig sind. -propertyfile <name> Properties aus einer Datei laden. Mit -D definierte Properties besitzen Vorrang! Tabelle 5: Einige Kommandozeilenoperationen von Ant [AA08] 11

14 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen 4 Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen 4.1 JUnit Testing mit Apache Ant Software-Fehler verursachen in der Praxis erhebliche Kosten. Daher ist es sinnvoll laufend neue Testfälle zu erstellen und auszuführen, bevor eine lokale Entwicklungsumgebung überhaupt verlassen wird. Die Idee der Testgetriebenen Entwicklung beschreibt das Vorgehen, dass fehlerarmer Code erzeugt wird, indem nichts implementiert wird, was nicht zuvor getestet wurde. Dies wird in den agilen Verfahren der Software-Entwicklung wie beispielsweise Extreme Programming (XP) berücksichtigt. Innerhalb der Java-Entwicklung hat sich das JUnit-Test-Framework zu einem De-facto- Standard entwickelt um eine Testgetriebene Entwicklung zu realisieren. JUnit, ursprünglich entwickelt von Kent Beck und Erich Gamma, eignet sich besonders um automatisierte Unit-Tests (z.b. Tests von Klassen oder Methoden) durchzuführen. Aus diesem Grund ist JUnit in Ant integriert worden, somit können Tests als Teil des Build- Prozesses ausgeführt und die Ergebnisse verarbeitet werden. Der Benutzer erhält die Möglichkeit Informationen darüber zu bekommen, ob sein Code innerhalb eines bestimmten Kontextes funktioniert. Erwartete und tatsächliche Ergebnisse lassen sich durch zahlreiche Zusicherungsfunktionen von JUnit vergleichen. Entsprechend der Hauptgrundsätze des Extreme Programmings sollte das Schreiben sowie Ausführen von Tests simpel sein, aus diesem Grund ist es mit keinem großen Aufwand verbunden einen JUnit-Test zu schreiben, es sind drei Schritte notwendig [HL04, S.123]: Erstellung einer Unterklasse von junit.framework.testcase. Konstruktor zur Verfügung stellen, der einen einzelnen name-string-prarmeter entgegennimmt und super(name) aufruft. Implementierung einer oder mehrerer void-methoden, die keine Argumente haben und deren Namen das Wort test vorangestallt wird. Code-Beispiel: 12

15 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen import junit.framework.testcase; public class SimpleTest extends TestCase { public SimpleTest (String name) { super(name); } public void testme(){ asserttrue(9 == (3 * 3)); } } public void testmetoo(){ asserttrue(8 == (5 + 3)); } In diesem kleinen Beispiel für einen Testfall ist der Konstruktor zu sehen sowie zwei void-test-methoden. JUnit stellt TestRunner-Klassen zur Verfügung, mit denen alle Tests ausgeführt werden können, die durch das vorgestellte test gekennzeichnet sind. Es existieren zwei verschiedene TestRunner: Ein textbasierter und ein Swing-basierter. Der Swing- TestRunner von JUnit gibt die Ergebnisse in einem entsprechenden Fenster aus, Erfolge werden grün, Fehler rot visualisiert. Vorteil der Swing-Variante des TestRunners: Er kann Klassen dynamisch neu laden, kann somit geöffnet bleiben wenn der Code neu kompiliert wird. Damit JUnit zusammen mit Ant genutzt werden kann muss JUnit zunächst in der aktuellen Version heruntergeladen werden ( Ant muss die Möglichkeit besitzen die Datei junit.jar zu finden, deswegen muss die Datei in dem Ordner %ANT_HOME%/lib gespeichert werden (das Speichern im System- Klassenpfad ist z.b. ebenfalls möglich, die Dokumentation empfiehlt jedoch alle Libraries, die Ant benötigt, in das Ant-lib-Verzeichnis einzufügen, damit eventuelle Komplikationen bei verschiedenen Ant Versionen nicht auftreten können). Apache Ant bietet mit dem optionalen <junit>-task die Möglichkeit einen oder mehrere JUnit-Test(s) auszuführen. Die Testergebnisse werden gesammelt und in der gewünschten Form angezeigt. Zusätzlich bietet der Task die Möglichkeit einen Build abzubrechen oder fortzusetzen, wenn ein Test scheitert [HL04, S. 130]. Getestet wurde der <junit>-task mit der JUnit Version Mit älteren Versionen als 3.0 ist keine Funktionalität gegeben. Zwar funktioniert der Task auch mit JUnit Version 4.0, jedoch nur begrenzt, es wird somit die Nutzung der Version empfohlen [AA08]. 13

16 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen Tabelle 6 zeigt eine Auswahl an Attributen des <junit>-tasks und erläutert diese kurz (alle Attribute sind optional anzugeben). Attribut Beschreibung Default printsummary Es werden einzeilige Statistiken für jeden Testfall off ausgegeben. Mögliche Werte: on, off, withoutanderr (das gleiche wie on, inkl. der Ausgabe der Tests die mittels System.out und System.err überliefert werden). fork Führt den Test in einer separaten Virtual Machine (VM) off aus. forkmode Legt fest, wieviele Java VMs erstellt werden. Mögliche pertest Werte: pertest, perbatch, once. haltonerror Stoppt den Build-Vorgang wenn ein Fehler beim off Durchlaufen eines Tests auftritt. errorproperty Name einen Properties, das beim Auftreten eines - Fehlers gesetzt wird. haltonfailure Stoppt den Build-Vorgang wenn ein Test fehlschlägt. off timeout Bricht den einzelnen Test ab, wenn dieser nicht in einer - bestimmten Zeit beendet wird (Millisekunden). Wird ignoriert wenn fork deaktiviert ist. maxmemory Maximale Größe des Arbeitsspeichers, die die VM - belegen darf. Wird ignoriert wenn fork deaktiviert ist. showoutput Schickt jede Ausgabe die von Tests erzeugt wird auch - an Ants Logging-System. tempdir Verzeichnis für temporäre Dateien (ansonsten wird wie gehabt das Projekt-Hauptverzeichnis hierfür genutzt) - Tabelle 6: Auswahl an Attributen des <junit>-tasks [AA08] Die Tests in einen Ant-Build-Vorgang einzufügen stellt sich als nicht sehr kompliziert dar: Es müssen einige wenige Targets hinzugefügt werden, die Verzeichnisstruktur für die Tests initialisiert werden, der Test-Code kompiliert werden, der Test ausgeführt werden und schließlich die Testberichte generiert werden. Abbildung 3 zeigt das Refactoring eines Build-Vorgangs mit Unit-Test-Targets. 14

17 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen <target> init <target> compile <target> test-init <target> test Weitere Tests <test>-target Abbildung 3: Build-Vorgang mit Uni-Test-Targets [HL04, S.132] Es empfiehlt sich die Test-Targets sauber in die Build-Datei einzupflegen. Hierzu sollten mehrere Properties und Datentypengenutzt werden, damit fest eincodierte Pfade vermieden werden und der Testprozess flexibel kontrolliert werden kann: <property name="test.dir" location="${build.dir}/test"/> Weitere Properties (tst.data.dir, test.report.dir, usw.) sind analog zu erstellen. Gegebenenfalls muss für das Ausführen und vorherigem Kompilieren ein separater Klassenpfad definiert werden. Mit der Hilfe des <junit>-tasks bestehen mehrere Möglichkeiten, die Testergebnisdaten zu sammeln, hierfür werden so genannte Formatierer benutzt, die mittels <formatter>-tags innerhalb des <junit>-tasks benutzt werden. Hier bestehen drei verschiedene Typen [HL04, S. 134]: brief: Einzelheiten über das Scheitern von Tests werden in Textform zur Verfügung gestellt. plain: Es werden zusätzlich zu den Einzelheiten über das Scheitern statistische Informationen über jeden ausgeführten Text in Textform erhoben. 15

18 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen xml: Die Einzelheiten werden im XML-Format zur Verfügung gestellt. Für jeden Testfall werden die Ant-Properties zum Zeitpunkt des Testens, die Systemausgaben und die Systemfehlerausgaben angegeben. Es besteht ferner die Möglichkeit eigene Ergebnis-Fromatierer zu erstellen, dies ist jedoch selten erforderlich, weil sich Testergebnisse im XML-Format ablegen lassen. Testergebnisberichte können einfach erstellt werden, insbesondere wenn die Testergebnisse als XML-Dateien vorliegen, kann mit nur wenigen Schritten ein Bericht im HTML-Format generiert werden. Hierfür steht ein eigener Task zur Verfügung: <junitreport> Ein möglicher <junit>-task innerhalb einer Build-Datei könnte folgendermaßen aussehen: <junit printsummary="false" haltonfailure="true"> <classpath refid="test.classpath"/> <formatter type="brief" usefile="false"/> <test name=org.example.shorttest"/> </junit> Für den Fall dass der JUnit-Test nicht korrekt durchläuft, wird auch der Ant-Build mit BUILD FAILED abgebrochen. In diesem Fall werden die Einzelheiten über das Scheitern des Tests in Textform über die Ausgabe dargestellt. Zusammenfassend kann gesagt werden, dass Ant Unit-Tests entscheidend erleichtert indem es diese ausführt, Ergebnisse sammelt und einen Build-Vorgang abbricht, falls ein Test scheitern sollte. Properties und Datentypen ermöglichen gewohnt die Definierung von Klassenpfaden und Verzeichnissen, die zum Testen benötigt werden. Beachtet der Entwickler weitere Best Practices beim Generieren und Durchführen von Testfällen [HL04, S. 146], so unterstützt ihn Ant deutlich bei der Testgetriebenen Entwicklung von Programm-Code/Software-Projekten. 4.2 Vergleich mit dem Build-Tool Make Wie bereits beschrieben, hat Ant in der Praxis das deutlich ältere Build-Tool Make abgelöst. Make wurde bereits in den 70er Jahren von Stuart Feldman entwickelt und unter UNIX-Systemen verwendet. Feldman gilt seither als einer der Vorreiter im Bereich der Build-Tools. In der Praxis findet Make eine weite Verwendung, so werden sich Varianten von Make in fast jedem großen C- oder C++-Projekt verwendet [HL04, 16

19 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen S. 40]. Make arbeitet mit einem dateizentrierten Konzept, Targets enthalten entweder den Namen einer Datei, die aktualisiert werden muss oder ein Phantomziel (Phony- Target). Targets lösen Aktionen aus wenn sie aufgerufen werden, wie bei Ant sind auch hier Abhängigkeiten zu anderen Targets oder Dateien möglich. Ausnahmen sind die Phantomziele (die clean oder all heißen), die auch ohne Abhängigkeiten existieren können. Ant und Make besitzen zunächst die gleiche Aufgabe und den gleichen Zweck: Build- Prozesse werden durch sie automatisiert und ausgeführt in dem eine entsprechende Build-Datei mit festgelegten Operationen ausgewertet wird. Abgesehen von der Syntax und anderen operationalen Einzelheiten besitzen Make und Ant verschiedene Auffassungen darüber, wie Build-Prozesse ablaufen sollten [HL04, S. 40]. Bei der Verwendung von Ant wird eine Folge von Operationen und Abhängigkeiten zwischen diesen angegeben und den Datei-Abhängigkeiten überlassen, den Code auszuwählen, der alle Operationen innerhalb des Build- Prozesses versteht. Die Targets, die Ant unterstützt, sind den Phantomzielen von Make gleichzusetzen: Targets sind bei der Verwendung von Ant keine einzelnen Dateien sondern existieren in der Build-Datei. Abhängigkeiten von Targets bestehen aus anderen Targets, sie geben keine Datei-Abhängigkeiten und keine Umwandlungsregeln für Dateien an. Stattdessen werden in der Ant-Build-Datei die Stufen angegeben, die in dem Prozess verwendet werden sollen. (Input-/Output-Dateien können angegeben werden, Platzhalter sind möglich). Beispiel: <javac>- und <jar>-tasks: Diese Tasks können automatisch alle Java-Dateien in Unterverzeichnissen einbeziehen und entscheiden später, welche kompiliert werden müssen. Jeder Task muss bei Ant in der von dem Target abgeleiteten Reihenfolge aufgerufen werden, die Tasks können wählen ob sie ausgeführt werden oder nicht. Der Vorteil ergibt sich daraus, dass Tasks mehr domänenspezifisches Wissen enthalten können als das Build-Tool selbst (z.b.: Abhängigkeitsprüfung). Durch Platzhalter für Quelldateien, JAR-Dateien auf dem Classpath o.ä. können neue Dateien hinzugefügt werden, ohne dass die Build-Datei geändert werden 17

20 Kapitel 4: Erweiterte Funktionalitäten und Vergleich mit anderen Build-Werkzeugen muss. Dieser Vorteil macht sich bei Ant bemerkbar wenn Projekte größer werden, die Wartung der Build-Dateien aber weiterhin von minimalem Aufwand ist. Obwohl diese Unterscheide zwischen Ant und Make existieren und Ant für bestimmte Szenarien mehrere Vorteile bietet, bedeutet dies keinesfalls, dass Make seine Daseinsberechtigung als Build-Tool verloren hat. Ants Vorteile beruhen vor allem auf den Fall, dass Java-Projekte erstellt werden sollen. Falls es sich jedoch um die Erzeugung von C/C++-Anwendungen handelt, so ist Ant nicht unbedingt das richtige Werkzeug, sondern Make vorzuziehen [HL04, S.42]. Aus diesem Grund schließen sich die beiden Build-Tools auch nicht aus, sondern können zusammenarbeiten: Ant ermöglicht den einfachen Zugriff auf Make, umgekehrt ist Make in der Lage Ant unkompliziert auszuführen. 4.3 Vergleich mit dem Build-Tool Maven Maven wird wie Ant von der Apache Software Foundation entwickelt und (kostenlos) angeboten. Es handelt sich um ein Build-Management-Tool und basiert ebenfalls auf Java. Maven eignet sich zum Kompilieren, Testen und Packen eines Softwareprojekts, Aufgaben die auf dem ersten Blick auch von Ant beherrscht werden. Im Maven Projekt wurden Verbesserungen vorgenommen, die zuvor als Schwächen von Ant galten. Ant kann als eine Teilmenge von Maven angesehen werden, denn Ant Tasks können auch innerhalb Mavens benutzt werden. Die Motivation der Entwickler von Maven liegt darin, Entwicklern den Build-Prozess von jedem Java-Projekt so einfach wie möglich zu gestalten, Best Practices zu beachten und ein einheitliches Referenz-Build-Tool zu generieren [MA08]. Maven ist in der aktuellen Version von der Projekt-Seite beziehbar ( Der Gedanke hinter dem Maven-Projekt ist, dass von einem Zyklus ausgegangen wird, der bei der Entwicklung von Software mit Maven oft gleich ist. Eine zentrale XML- Datei von Maven ist die pom.xml [AM08]. Bislang wurden in Ant zu jedem Projekt eine entsprechende Build-Datei geschrieben, bestimmte Targets konnten für andere Projekte genutzt werden, gegebenenfalls mussten diese jedoch angepasst werden. Mavens Hauptgedanke beschäftigt sich mit der Tatsache, dass bestimmte Vorgänge bei der Erstellung von Software stets gleich sind und hat deswegen die Build-Skripte durch Plug-Ins und dem Projekt Object Model (POM) ersetzt [AM08; MS05, S.16]. Anders 18

21 Kapitel 5: Fazit und Ausblick als bei der Verwendung von Ant, ist die Verzeichnisstruktur innerhalb der Projekte von Maven vorgegeben (project.xml, maven.xml, project.properties müssen vorhanden sein). Src und target sind festgelegte Verzeichnisse. Die aus Ant bekannten Tasks werden durch die Plug-Ins ersetzt, die Konfigurations-Datei pom.xml enthält Informationen darüber, welche Plug-Ins benötigt werden. Neben Dokumentationen und Metriken zur Software-Bewertung bietet Maven die Möglichkeit innerhalt der Konfigurations-Datei maven.xml die XML-Scriptsprache Jelly anzuwenden, diese Funktion bietet Ant nicht an. Die maven.xml ist am nächsten Vergleichbar mit der build.xml die aus Ant bekannt ist, hier können neben definierten Zielen auch Ant-Tasks aufgerufen werden. 5 Fazit und Ausblick Das Build-Tool Ant von der Apache Software Foundation besitzt eine entscheidende Rolle in der Praxis. Aufgrund der immer häufigeren Verwendung von Java als Programmiersprache fiel es Ant in der Vergangenheit nicht schwer, Make als Build- Tool abzulösen, denn Ant brachte deutliche Vorteile mit sich: Es kann plattformunabhängig benutzt werden und benutzt durch die XML-Notation eine bekannte und vertraute Form, Build-Dateien zu generieren. Make kann nicht als plattformunabhängig angesehen werden und besitzt eine eigene Beschreibungssprache für die Build-Dateien. Wenngleich von einer Ablösung die Rede ist, hat Make seine Daseinsberechtigung nicht verlorenen, denn insbesondere bei der Generierung einer C / C++ Anwendung können Ant und sein Nachfolger Maven das Tool Make nicht ersetzen, hier findet es weiterhin Anwendung. Innerhalb dieser Ausarbeitung wurden die grundlegenden Elemente von Ant dargestellt und erläutert. Als Erweiterbare Funktion wurde die Möglichkeit beschrieben, mit der Hilfe von Ant das Unit-Testen mit JUnit in den Build-Prozess mit einzubeziehen. Hiermit wurde verdeutlicht, dass Ant für aktuelle Anforderungen bei der modernen Softwareentwicklung gewachsen ist (agile Methoden wie beispielsweile Extreme Programming). Ant kann jedoch noch viel mehr, zum einen durch die endlose Erweiterbarkeit indem eigene Tasks in Java geschrieben werden können (hierdurch können auch andere Compiler als Java benutzt werden), zum anderen weil viele erweiterte Funktionalitäten bereits integriert sind. Als Beispiel sei die Anbindung an 19

22 Kapitel 5: Fazit und Ausblick SQL-Datenbanken genannt. Ant ist mit seinen Grundlagen schnell zu verstehen, aber in der Tiefe der Einarbeitung scheint es keine Grenze zu geben. Mit dem Projekt Maven hat die Apache Software Foundation ein weiteres Java-basiertes Build-Toll anzubieten. Ein Vergleich mit Ant ist durchaus interessant und sinnvoll, jedoch kann nicht von einem Konkurrenz-Produkt die Rede sein, vielmehr ist Maven als eine Art Erweiterung von Ant zu betrachten. Dies verdeutlicht sich dadurch, dass Maven sämtliche Tasks von Ant enthält. Zusätzlich wurden neue Konzepte eingebracht um ein Build-Tool zu entwickeln, das dem Softwareentwickler die Arbeit noch mehr erleichtert, als Ant dies ohnehin schon vollbringt. Zwar erfordert Ant weniger Einarbeitungszeit als Maven, aber aufgrund der Ähnlichkeit und des Konzeptes (die abstraktere Betrachtung des Build-Prozesses) ist davon auszugehen dass Apache Maven in der Zukunft das am meisten benutzte Build-Tool sein wird. Dies ist nicht zuletzt dadurch begründet, dass Softwareprojekte immer umfangreicher werden aber gleichzeitig ähnlich strukturiert sind. Gerade in diesen Fällen kann Maven mit den Plug-Ins die Lösung anbieten kann, die den entscheidenden Vorteil anbietet. 20

23 Literaturverzeichnis [AA08] [AM08] [ES06] [Fi04] [HL04] The Apache Ant Project: Documentation, Abruf: November The Apache Maven Project: Documentation, Abruf: November 2008 Stefan Edlich, Jörg Staudemeyer: Ant kurz & gut, 2. Auflage, O'Reilly, Carten Fiedler: Ausarbeitung Build Tools, Abruf: November Erik Hatcher, Steve Loughran: Java-Entwicklung mit Ant, 1. Auflage, mitp, [Ma05] Bernd Matzke: Ant. Eine praktische Einführung in das Java-Build-Tool, 2. Auflage, dpunkt.verlag, [MS05] Martin Meintel, Jürgen Schmiing: Die Buildwerkzeuge Apache Ant und Maven, 03/se_seminar_it2003_09.pdf, 2004

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant

Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Eclipse und Java Einheit 06: Building Eclipse Projete mit Ant Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis

Mehr

Das Build-Tool ANT ETIS SS05

Das Build-Tool ANT ETIS SS05 Das Build-Tool ANT ETIS SS05 Motivation Build - Datei Allgemeiner Aufbau Project Target Task Properties Zusammenfassung Literatur Gliederung 2 Motivation ANT I open source-projekt (aktuell: Version 1.6.5)

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Wie konfiguiriert man Eclipse (mit oder ohne Plugin) Erich Ehses

Wie konfiguiriert man Eclipse (mit oder ohne Plugin) Erich Ehses Wie konfiguiriert man Eclipse (mit oder ohne Plugin) Erich Ehses Man kann die nötigen Dateien separat von den angegebenen Quellen beziehen oder das Eclipse- Plugin für java_cup verwenden. Am Ende benötigt

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering 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

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

Mehr

Dokumentation zum Spielserver der Software Challenge

Dokumentation zum Spielserver der Software Challenge Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Schritt 1: Altes Modul-Paket vollständig deinstallieren Die neuen MRG-Module sind aus dem Scope local in den Scope

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Tutorial Windows XP SP2 verteilen

Tutorial Windows XP SP2 verteilen Tutorial Windows XP SP2 verteilen Inhaltsverzeichnis 1. Einführung... 3 2. Windows XP SP2 bereitstellen... 3 3. Softwarepaket erstellen... 4 3.1 Installation definieren... 4 3.2 Installationsabschluss

Mehr

E-Cinema Central. VPN-Client Installation

E-Cinema Central. VPN-Client Installation E-Cinema Central VPN-Client Installation Inhaltsverzeichnis Seite 1 Einleitung... 3 1.1 Über diese Anleitung... 3 1.2 Voraussetzungen... 3 1.3 Hilfeleistung... 3 2 Vorbereitung Installation... 4 3 Installation

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

MSDE 2000 mit Service Pack 3a

MSDE 2000 mit Service Pack 3a MSDE 2000 mit Service Pack 3a Neues MSDE im WINLine-Setup: Seit der WINLine 8.2 Build 972 wird auf der WINLine-CD ein neues Setup der Microsoft MSDE mit ausgeliefert. Mit dieser neuen Version MSDE 2000

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken

Virtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT

Mehr

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis BOKUbox BOKUbox ist ein Spezialservice für alle Mitarbeiter/innen der BOKU. Kurzfristiger Austausch von vielen und großen Dateien kann Ihre Mailbox schnell überlasten. BOKUbox ist die perfekte Alternative

Mehr

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================

Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ Installation des GeoShop Redirector für Apache (Stand 14.8.2007) ================================================================ 0 Überblick ----------- Die Installation des GeoShop Redirector im Apache

Mehr

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Wissenswertes über LiveUpdate

Wissenswertes über LiveUpdate Wissenswertes über LiveUpdate 1.1 LiveUpdate «LiveUpdate» ermöglicht den einfachen und sicheren Download der neuesten Hotfixes und Patches auf Ihren PC. Bei einer Netzinstallation muss das LiveUpdate immer

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

novapro Open Audittrail Report

novapro Open Audittrail Report novapro Open Audittrail Report Bedienungshandbuch 7001042001 Q11 Diese Beschreibung entspricht dem aktuellen Programmstand Version 1.0. Änderungen erfolgen zu jeder Zeit und ohne vorherige Ankündigung.

Mehr

PowerWeiss Synchronisation

PowerWeiss Synchronisation PowerWeiss Synchronisation 1 Einrichtung der Synchronisation I. Starten des Synchronisations Wizard Seite 3 II. Schritt 1 - Benutzer auswählen Seite 3 III. Schritt 2 - Grundlegende Einstellungen Seite

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education Andy Bosch Java Server Faces Das Standard-Framework zum Aufbau webbasierter Anwendungen An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

Swisscom TV Medien Assistent

Swisscom TV Medien Assistent Swisscom TV Medien Assistent Mithilfe dieses Assistenten können Sie Fotos und Musik, die Sie auf Ihrem Computer freigegeben haben, auf Swisscom TV geniessen. Diese Bedienungsanleitung richtet sich an die

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Handbuch ZfEditor Stand 24.08.2012

Handbuch ZfEditor Stand 24.08.2012 Handbuch ZfEditor Stand 24.08.2012 Inhaltsverzeichnis Einführung... 1 Ansprechpartner... 1 Installation und Update... 1 Installation... 1 Update... 2 Bedienung des ZfEditors... 2 Aufruf... 2 Auswahl Gemeinde,

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Success! Bestellausgabe

Success! Bestellausgabe Success! Bestellausgabe 2 Bestellausgabe in SUCCESS! Für die Anbindung an die Bestellsysteme ihrer Lieferanten ist es möglich, die in Success! erzeugten Bestellungen, in eine Datei auszugeben und optional

Mehr

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte: Installation des GeoShop Redirector für IIS (Stand 24.8.2007) ============================================================= 0 Überblick ----------- Die Installation des GeoShop Redirector für IIS (Internet

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Sicherheit für Windows Vista Teil 2: Windows Tool zum Entfernen bösartiger Software

Sicherheit für Windows Vista Teil 2: Windows Tool zum Entfernen bösartiger Software Sicherheit für Windows Vista Teil 2: Windows Tool zum Entfernen bösartiger Software Dieser Artikel ist Teil 2 zum Thema Sicherheit für Windows Vista. Wir zeigen Ihnen hier, wie Sie mit dem kostenlosen

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

SFKV MAP Offline-Erfassungstool. Installationsanleitung

SFKV MAP Offline-Erfassungstool. Installationsanleitung SFKV MAP Offline-Erfassungstool Autor(en): Martin Schumacher Ausgabe: 16.02.2010 1. Allgemein Damit das Offlinetool von MAP ohne Internetverbindung betrieben werden kann, muss auf jedem Arbeitsplatz eine

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg 7 64331 Weiterstadt Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Inhaltsverzeichnis 1 Allgemein... 3 2 Erforderliche Anpassungen bei der Installation...3 2.1 Konfiguration Jboss 7 Applicationserver (Schritt 4/10)...3

Mehr

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

Windows 7 Winbuilder USB Stick

Windows 7 Winbuilder USB Stick Windows 7 Winbuilder USB Stick Benötigt wird das Programm: Winbuilder: http://www.mediafire.com/?qqch6hrqpbem8ha Windows 7 DVD Der Download wird in Form einer gepackten Datei (7z) angeboten. Extrahieren

Mehr

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Elexis-BlueEvidence-Connector

Elexis-BlueEvidence-Connector Elexis-BlueEvidence-Connector Gerry Weirich 26. Oktober 2012 1 Einführung Dieses Plugin dient dazu, den Status Hausarztpatient zwischen der BlueEvidence- Anwendung und Elexis abzugleichen. Das Plugin markiert

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Ant - das Java Build-Tool

Ant - das Java Build-Tool Hauptseminar Ant - das Java Build-Tool Funktionalität, Mächtigkeit und Praxiserfahrungen Betreuer: Vortragender: Dipl.Inf. Thorsten Strufe Christoph Lühr Gliederung Build-Tools Aufgaben und Probleme Ant

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox Inhalt 1 Kurz und knapp... 1 2 Allgemeine Erklärungen zur Funktionsweise des Browsers... 2 3 Download...

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

Mehr

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

Mehr

1 Dokumentenmanagement

1 Dokumentenmanagement 1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise

Mehr

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.

Mehr

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 David XL Tobit InfoCenter AddIn für den address manager email Zuordnung David XL Tobit InfoCenter AddIn für den address

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Datei-Archive (zip-dateien) packen und entpacken mit FilZip Eine Anleitung für Mitarbeiter/innen

Datei-Archive (zip-dateien) packen und entpacken mit FilZip Eine Anleitung für Mitarbeiter/innen Datei-Archive (zip-dateien) packen und entpacken mit FilZip Eine Anleitung für Mitarbeiter/innen Diakonisches Werk des Ev. Kirchenkreises Steinfurt-Coesfeld-Borken e.v. Erstellen eines zip-archivs mit

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Online-Prüfungs-ABC ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Telefon Support: 0 62 23 / 86 55 55 Telefon Vertrieb: 0 62 23 / 86 55 00 Fax: 0 62 23 / 80 55 45 (c) 2003 ABC Vertriebsberatung

Mehr

Visual Basic Express Kompilieren mit Skripten

Visual Basic Express Kompilieren mit Skripten Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Vorbereitung... 1 Build.bat anlegen... 1 Verknüpfung Build.bat im Projekt anlegen... 3 Einzelne Betriebssystem/Plattform

Mehr

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta! Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Um mehrere Versionsstände parallel betreiben zu können, sollte man die folgenden Hintergründe kennen, um zu verstehen wo ggf. die Hürden liegen.

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

1. Laden Sie sich zunächst das aktuelle Installationspaket auf www.ikonmatrix.de herunter:

1. Laden Sie sich zunächst das aktuelle Installationspaket auf www.ikonmatrix.de herunter: Bestellsoftware ASSA ABLOY Matrix II De- und Installationsanleitung Installation Erfahren Sie hier, wie Sie ASSA ABLOY Matrix II auf Ihrem Rechner installieren können. Halten Sie Ihre Ihre Firmen- und

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr