Erste Schritte

Lösungen zu Kapitel 2

  1. Beachten Sie, dass Sie die Quell-Dateien als Argument mit übergeben müssen. Die Option "-verbose" macht den Compiler etwas gesprächiger.
    Aufruf:

    javac -verbose -d classes -classpath ../lib/junit.jar -sourcepath src src/bank/*.java

    Ausgabe:
    [parsing started src/bank/Konto.java]
    [parsing completed 43ms]
    [parsing started src/bank/KontoTest.java]
    [parsing completed 2ms]
    [loading ../lib/junit.jar(junit/framework/TestCase.class)]
    [loading ../lib/junit.jar(junit/framework/Test.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/Object.class)]
    [loading ../lib/junit.jar(junit/framework/Assert.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/String.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/Exception.class)]
    [checking bank.Konto]
    [wrote classes/bank/Konto.class]
    [checking bank.KontoTest]
    [loading ../lib/junit.jar(junit/textui/TestRunner.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/Class.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/io/Serializable.class)]
    [loading ../lib/junit.jar(junit/runner/BaseTestRunner.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/Error.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/Throwable.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/RuntimeException.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/ClassNotFoundException.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/NoClassDefFoundError.class)]
    [loading /usr/java/j2sdk1.4.2_06/jre/lib/rt.jar(java/lang/LinkageError.class)]
    [wrote classes/bank/KontoTest.class]
    [total 302ms]
  2. Achtung: hier heißt die Option nicht "-sourcepath", sondern "-sourceroots"; dafür kann die Angabe der Source-Dateien entfallen. Außerdem muss noch "`aspectjrt.jar"' über "-classpath" bekannt gemacht werden:
    Aufruf:

    ajc -verbose -d classes -classpath ../lib/junit.jar:$ASPECTJ_HOME/lib/aspectjrt.jar -sourceroots src

    Ausgabe:
    zipfile classpath entry does not exist: /usr/java/j2sdk1.4.2_06/jre/lib/i18n.jar

    directory classpath entry does not exist: /usr/java/j2sdk1.4.2_06/jre/classes

    compiling /home/oliver/doc/Kurs/AspectJ/Uebung/Kap02/src/bank/LogAspect.aj

    compiling /home/oliver/doc/Kurs/AspectJ/Uebung/Kap02/src/bank/KontoTest.java

    compiling /home/oliver/doc/Kurs/AspectJ/Uebung/Kap02/src/bank/Konto.java

  3. Anleitung dazu siehe Kap. 2.5.1 im Buch oder ajdt installation instructions.
  4. Die aktuelle Quick-Reference kann auch über dev.eclipse.org/viewcvs/indextech.cgi/aspectj-home/doc/quick.pdf geholt werden
  5. Anleitung dazu siehe Kap. 2.5.3 im Buch
  6. Dazu in Eclipse "Project -> Properties" aufrufen und "AspectJ" auswählen
  7. siehe src/bank/LogAspect.aj
  8. zum Starten der Testfälle die KontoTest-Klasse im Package-Explorer selekieren und über das Kontext-Menü "Run -> JUnit Test" auswählen.

letzte Änderung: 15. März 2005