05.11.2013 Aufrufe

Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid

Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid

Laufzeitanalysen mit Hilfe der Aspektorientierten ... - Feldschmid

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<br />

<br />

<br />

Der Aufruf kompiliert hier sämtliche .java und .aj Dateien im Verzeichnis src<br />

und testsSrouces und schreibt die kompilierten .class Dateien in das destDir-Verzeichnis<br />

– ajc agiert hier also ebenso wie javac, nur eben <strong>mit</strong> AspectJ Unterstützung. Je nachdem<br />

welches Projekt hier kompiliert werden soll, müssen weitere Bibliotheken im Classpath<br />

angegeben werden, o<strong>der</strong> Konfigurationsdateien <strong>mit</strong> in das destDir kopiert werden.<br />

Hierfür kann die Build-Datei beliebig erweitert werden. Für einfache Aufgaben sind hier<br />

kaum Kentnisse <strong>der</strong> Ant-Syntax notwendig, die Build-Datei ist ausserdem für sich sehr<br />

sprechend.<br />

Um das volle potential des AspektJ-Compilers auszunutzen und sich so die Möglichkeit<br />

zu erschließen inkrementell zu kompilieren o<strong>der</strong> ByteCode-Weaving, also das anwenden<br />

eines Aspekts auf bereits kompilierte .class Dateien (bzw. .jar-Dateien), zu betreiben –<br />

verweisen wir auf die sehr gute Dokumentation <strong>der</strong> AspectJ-Ant-Tasks unter [Aspa].<br />

Das aktuell enthaltene Buildfile aspectj build.xml kompiliert sämtliche Aspekte und<br />

Tests. Um es zu verwenden sind folgende Schritte vorzunehmen:<br />

Zunächst sollte Ant in einer möglichst neuen Version installiert werden und das ant/bin-<br />

Verzeichnis gegebenenfalls zur Path-Variable hinzugefügt werden, um Ant direkt als<br />

Kommando in <strong>der</strong> Konsole verwenden zu können. Nun müssen noch die Properties im<br />

aspectj build.xml angepasst werden. Beson<strong>der</strong>s wichtig sind hier die beiden Properties<br />

<br />

<br />

Diese müssen auf den jeweiligen Pfad zeigen, in dem AspectJ installiert wurde.<br />

Um unsere Beispiele auszuführen ist sonst keine weitere Einstellung nötig. Sollen aber<br />

an<strong>der</strong>e Projekte kompiliert werden, muss das classpath compile bzw. classpath execution<br />

Property gegebenenfalls um weitere librarys erweitert werden.<br />

Nun kann das default-target, hier compile, per Kommandozeile gestartet werden: ”<br />

ant<br />

–f aspectj build.xml“ führt das default-target aus. Zunächst, wird falls vorhanden <strong>der</strong><br />

Ordner ant-out im relativen Verzeichnis gelöscht (clean). Dann werden Librarys und<br />

Konfigurationsdateien ins ant-out Verzeichnis kopiert(copy). Zu guter letzt werden noch<br />

sämtliche java/aj Dateien compiliert, sowie alle weiteren Dateien die sich in den beiden<br />

sourceroot-Verzeichnissen befinden ins jeweilige ant-out Unterverzeichnis kopiert<br />

(ausgeschlossen von diesem Kopieren sind .java und .aj Dateien – siehe SourceRootCopyFilter).<br />

Nun können die kompilierten .class Dateien ganz normal per java Aufruf ausgeführt werden<br />

(zusätzlich muss man nur die aspectjrt.jar im Classpath angeben) – auch dies kann<br />

40

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!