Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ◄ Vorherige AktivitätNächste Aktivität ►
- SS12:Programmierpraktikum (Java)
- Sie sind hier
- WueCampus / ► SS12_JPP / ► Aufgaben / ► GameOfLife
- RoSE - Aufgaben
- In der folgenden Aufgaben sollen vier Roboter programmiert werden, die unterschiedliche Aufgaben erledigen. Dabei werden Sie die Robotersimulationsumgebung RoSE verwenden. Da Ihnen hier ein Eclipse-Projekt vorgegeben wird, müssen sie beim Importieren "Check out as project with the name specified" wählen und den vorgeschlagenen Namen einfach lassen, anstatt "Check out as project configured using the New Project Wizard".
- Zeichnen einer Geraden
- In dieser sehr einfachen Aufgabe sollen Sie einen simulierten Roboter entwickeln, der eine Linie mit wechselnden Farben auf das Feld zeichnet. Die Linie soll eine Länge von 10 Feldern haben und nacheinander immer wieder aus den Farben rot, grün und blau bestehen. Die Linie soll direkt vom Startpunkt aus gezeichnet werden, der Roboter schaut bereits in die richtigen Richtung. Das erste bemalte Feld soll das Feld sein, auf dem der Roboter startet. Es spielt keine Rolle, wo Sie den Roboter stehen lassen und auch nicht, ob Sie andere Teile des Feldes bemalen. Sie können also beliebige andere Sachen zum Test implementieren und auch abgeben. Aussehen soll/kann ihr Ergebnis dann wie folgt:
- In diesem Fall haben Sie ganz am linken Rand gestartet.
- Erste Schritte mit RoSE.
- Implementieren Sie eine Klasse Line im Paket user, die von der abstrakten Klasse rose.control.Controller erbt. Implementieren Sie in Line die abstrakte Methode void live(String[] args). Diese Methode wird von der Simulationsumgebung aufgerufen und soll das Verhalten ihres Roboters beschreiben. Die abstrakte Klasse rose.control.Controller stellt Ihnen dazu bereits Methoden zur Manipulation des Roboters zur Verfügung. Für diese Aufgabe benötigen Sie:
- markCurrentNode(Color color)
- moveForward()
- Die Enumeration rose.world.Color enthält die Farben RED, GREEN, BLUE, WHITE und BLACK.
- Sie können für einen ersten Test die live-Methode durch folgenden Code ersetzen. Wählen Sie dann in Eclipse den kleinen Pfeil rechts neben dem Run-Button und klicken Sie dort auf Line:
- public void live(String[] args) {
- for (int i = 0; i < 30; i++) {
- moveForward();
- moveForward();
- rotateCCW();
- }
- }
- Der Roboter sollte daraufhin im ein paar mal im Kreis fahren.
- Zeichnen eines roten Quadrats variabler Länge
- In dieser Aufgabe sollen Sie ein rotes Quadrat variabler Länge zeichnen. Implementieren Sie dazu einen Controller in der Klasse Square im Paket user. Leiten Sie auch diese Klasse wieder von rose.control.Controller ab. Im Gegensatz zur vorherigen Aufgabe ist es nun auch notwendig eine Drehung auszuführen. Schauen Sie sich dazu die Dokumentation von rose.control.Controller an.
- Sie starten in der süd-westlichen Ecke des Quadrates und schauen nach Osten. Die Länge des zu zeichnenden Quadrats wird der live Methode als erstes Argument, also an erster Stelle im Array übergeben. Die Konvertierung von String nach Integer kann mit Hilfe der Klasse java.lang.Integer erfolgen. Lesen Sie dazu die API Dokumentation. Ein Beispiel mit der Seitelänge von 5 könnte dann so aussehen:
- Sie können in der Aufgabe davon ausgehen, dass die Länge immer eine korrekte String-Repräsentation eines Integers ist, die einen Integer > 0 beschreibt und, dass das Feld immer groß genug ist. Für die Ausgabe der Tests ist es interessant, dass Sie auf Node (8,5) starten.
- Rotes Kreuz im blauen Quadrat
- In dieser Aufgabe sollen Sie ein rotes Kreuz in einem blauen Quadrat (mit beliebiger Seitenlänge) zeichnen. Implementieren Sie dazu einen Controller in der Klasse SquareCross im Paket user, der von rose.control.Controller erbt. Ein Beispiel für eine Kantenlänge von 9 Feldern sehen Sie unten:
- Ihr Roboter startet dabei in der Mitte des Kreuzes, mit Blickrichtung nach Osten. Die Startposition des Roboters ist (5, 5). Das sollte für Sie eigentlich unerheblich sein, es hilft Ihnen aber eventuelle Fehlermeldungen zu verstehen. Wenn die Ausgabe eines Test also sagt:
- (5, 5) is nicht rot.
- Dann wissen Sie, dass das Feld, auf dem Sie starten nicht rot markiert ist, obwohl es das sein sollte.
- Auch dieses mal erhalten Sie als ersten Parameter die Seitenlänge des Quadrats. Sie können davon ausgehen, dass das Feld immer weit genug ist und, dass die Kantenlänge immer eine ungerade Zahl > 1 ist.
- Fuer die Erfüllung der Aufgabe ist es unerheblich, wo Ihr Roboter endet und auch, ob Sie sonstige Sachen auf das Feld malen. Alle unwichtigen Felder werden ignoriert. Theoretisch könnten Sie die Aufgabe also auch loesen, indem Sie ein rotes Kreuz, in einem ausgefüllten Quadrat malen.
- Sie erhalten zwei Ausgaben. Die eine weisst Sie darauf hin, dass Sie die Figur richtig gezeichnet haben. Diese Aufgabe können Sie entweder mit 100 oder mit 0 Punkten lösen. Interessanter ist die zweite Ausgabe. Sie gibt Ihnen Punkte, je nachdem wie viel Schritte Sie gebraucht haben. Je weniger Schritte Sie brauchen, desto höher Ihre Punktzahl. Wenn Sie hier weniger als 20 Punkte bekommen gilt die Aufgabe als nicht bestanden.
- Da dies die erste Aufgabe ist, bei der die Anzahl an Schritten eine Rolle spielt soll hier noch kurz das Schritt-System erklärt werden.
- Folgende Aktionen kosten Sie einen Schritt:
- Drehungen
- Bewegungen (auch wenn Sie nicht erfolgreich sind)
- Markierung von Feldern
- Folgende Aktion kostet Sie keinen Schritt:
- Sensordaten abfragen mit der Methode getInput()
- Sie sollten also die Sensordaten verwenden um unnötige Aktionen zu vermeiden.
- Game of Life for RoSE
- Ziel ist die Implementierung des berühmten GameOfLife von Conway. Der Verlauf des Spiels soll mit Hilfe der neuen Roboter-Simulationsumgebung RoSE visualisiert werden. Für detaillierte Informationen zu Aufbau, Regeln und Ablauf des Spiels siehe: http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens.
- Der Roboter startet auf einem beliebigen Feld in einer unbekannten Umgebung, die er zunächst erforschen muss, dabei muss er sowohl den Zustand, als auch die Dimension des Feldes erforschen. Zur Vereinfachung können Sie davon ausgehen, dass es sich um eine rechteckige Welt handelt in der jedes Feld begehbar ist. Gespielt wird auf einem Torus, was bedeutet dass Felder am Rand mit der gegenüberliegenden Seite benachbart sind. Der Zustand einer Zelle ist durch ihre Farbe gegeben:
- blau - Die Zelle lebt.
- weiss - Die Zelle ist tot.
- Beispielscreenshot:
- Nachdem das Feld vollständig eingelesen ist und die Dimensionen bekannt sind, können Sie den Roboter als Drucker verwenden. Berechnen Sie den neuen Zustand und markieren Sie dann alle Felder in der richtigen Farbe.
- GameOfLife.java - user.GameOfLife
- Das Spiel soll in der Klasse GameOfLife im Paket user implementiert werden. Zusätzlich muss sie von rose.control.Controller erben, um mit der Welt kommunizieren zu können. Für alle Tests wird davon ausgegangen, dass der Koordinatenursprung (0, 0) in der linken, oberen Ecke liegt. Die x-Achse verläuft dann nach rechts, die y-Achse nach unten. Wenn Sie diese Aufgabe bestmöglich erledigen wollen, müssen sie die Anzahl der Schritte, die sie zum Zeichnen brauchen, minimieren. Sie bekommen dazu in einem optionalen Test die Anzahl der Schritte, die sie gebraucht haben, und eine Bepunktung angezeigt. Wenn sie 100 von 100 Punkten in dem optionalen Test erreicht haben, wird ihre Abgabe grün. Dies ist nicht nötig zum bestehen. Sie können davon ausgehen, dass nur sie das Feld verändern und die Kenntnis des Feldes nutzen, um ihre Ausgabe zu optimieren.
- Folgendes Interface ist (mindestens) zu erfüllen:
- public boolean[][] scanWorld()
- soll aus einer beliebigen Startposition heraus die komplette Umgebung erfassen und sie als zweidimensionales boolean-Array zurückgeben.
- true signalisiert eine lebende Zelle, false eine tote.
- public static int countNeighbours(boolean[][] field, int y, int x)
- zählt die Anzahl der lebenden Nachbarn für die Zelle, die an Index (y, x) des Feldes steht. Behandeln Sie ungültige Werte für x und y geeignet.
- public static boolean[][] computeNewState(boolean[][] field)
- berechnet den Zustand des Spielfeldes in der nächsten Generation ausgehend vom übergebenen Spielfeld und gibt diesen zurück. Dazu müssen Sie für alle Zellen den neuen Zustand berechnen, indem Sie die Nachbarschaft überprüfen. Beachten Sie, dass auch die diagonal liegenden Zellen zur Nachbarschaft gehören.
- Hier sind alle Nachbarn der roten Zelle grün. Es gibt neben den grünen Zellen keine weiteren Nachbarn der roten Zelle.
- Eine tote Zelle wird dann zu einer lebenden, wenn sie genau drei lebende Nachbarn besitzt.
- Eine lebende Zelle stirbt genau dann, wenn sie weniger als zwei oder mehr als drei lebende Nachbarn hat.
- Beachten Sie, dass die Welt als Torus zu sehen ist. Also eine Zelle am rechten Rand hat seine rechten Nachbarn auf der linken Seite des Spielfelds. Gleiches gilt natürlich auch umgekehrt und für die Grenzen oben und unten. Damit entsteht eine quasi unendlich große Spielwelt.
- public void drawState(boolean[][] field)
- Schreibt den übergebenen Zustand auf die Welt. Dazu muss der Roboter mindestens alle zu ändernden Feldern ansteuern und dort die neue Farbe setzen. Achten Sie darauf, dass diese Methode auch aufgerufen werden kann, ohne, dass der Roboter etwas auf der Welt gemacht hat. Wenn Sie diese Methode optimieren wollen, müssen Sie erst überprüfen, ob Sie bereits über genug Kenntniss des Spielfeldes (Grösse, letzten Zustand) verfügen.
- public void live(String[] args)
- soll den Spielablauf wie oben beispielhaft beschrieben steuern. In args[0] steht wieviele Generationen Sie berechnen sollen, bevor Sie die done()-Methode aufrufen.
- Abzugebende Dateien
- Folgende Dateien müssen über PABS abgegeben werden:
- Line.java
- Square.java
- SquareCross.java
- GameOfLife.java
- Verfügbar ab: Montag, 20. Februar 2012, 12:00
- Abgabetermin: Montag, 12. März 2012, 12:00
- Repository: https://[email protected]:443/svn/SS12_I_PP/s222894/gol/code
- Korrektur-Status: Keine endgültige Abgabe gefunden.
- SVN-Revision 7159 vom 8. March 2012, 1:07:47 –
- Tests zeigen grobe Mängel, Abgabe wird nicht akzeptiert.
- Commit-Message:
- Reports
- TestInterfacesTestRequiredCompileStudent
- [echo] compiling functional tests...
- [javac] Compiling 4 source files to /tmp/reactor-947ed554-6e3e-4057-8818-55ee476fb325/build/classes
- [echo] executing functional tests..
- [junit] Running tests.reqTests.GOLReq
- [junit] Testsuite: tests.reqTests.GOLReq
- [junit] Tests run: 6, Failures: 1, Errors: 0, Time elapsed: 1.251 sec
- [junit] Tests run: 6, Failures: 1, Errors: 0, Time elapsed: 1.251 sec
- [junit]
- [junit] Testcase: testDrawStateOnAll3030Fields took 0.24 sec
- [junit] FAILED
- [junit] Should draw the field:
- [junit] 000010111100001111000101011010
- [junit] 110000011010100000101100000010
- [junit] 110100010101100000111011110111
- [junit] 001010101000101111100111111101
- [junit] 011010110110110100100000001000
- [junit] 010111111111011001010101010000
- [junit] 000101101101100011011101000010
- [junit] 101010010011010110101100011110
- [junit] 100000111000110011001011000111
- [junit] 100100110110010111100110111001
- [junit] 011011101010100101010100010010
- [junit] 001010111000010010001110011101
- [junit] 111101010010000011010101100111
- [junit] 111011100111001100011000011011
- [junit] 110110101001011011010111000011
- [junit] 010110001101101100100111110011
- [junit] 001101100010011101100101000000
- [junit] 101101110001101101001101000000
- [junit] 110110100010100000111101001101
- [junit] 011001111011000101111101110111
- [junit] 011110010000000010001010111001
- [junit] 100110011011011101001111000110
- [junit] 001101100111011101110001001011
- [junit] 111111000110010101011110010100
- [junit] 000010000101100001011011000011
- [junit] 000100000110011011011101100011
- [junit] 000000101011011111111101111011
- [junit] 010001010010000001111010010011
- [junit] 000010011010001100110010101110
- [junit] 000001000000101010010000110001
- [junit] but draw100001100101001011110110011110
- [junit] 011000000010110110100000000000
- [junit] 000100100110100110000000000000
- [junit] 000010100000001110001100000001
- [junit] 110000000000000000011100000100
- [junit] 010000000000001101010100100000
- [junit] 010000000000000000000000010011
- [junit] 110110000010011100100001101000
- [junit] 000101000000010000001001000000
- [junit] 001110000010010100010000111000
- [junit] 011010000011110100010001000010
- [junit] 000000001001000100010001010000
- [junit] 000000000011001011110001100000
- [junit] 000000001101111000010000011000
- [junit] 000000101000000011010000001000
- [junit] 010000101101000000010000000010
- [junit] 100000001110000001110000000001
- [junit] 100000010010100101000001100001
- [junit] 000000001110111100000001011100
- [junit] 000000001111000011000000000000
- [junit] 000000000000100000000000000000
- [junit] 100000011001010001001000000000
- [junit] 000000110000000001000001101000
- [junit] 110000101000010101000000101100
- [junit] 010001001001100101000000000100
- [junit] 100000001000000000000000000000
- [junit] 000000111001110000000000001000
- [junit] 100001000010010000000010000000
- [junit] 100011011101011110000100101100
- [junit] 000011000000000000011010000001
- [junit] : arrays first differed at element [0][0]; expected:<false> but was:<true>
- [junit] junit.framework.AssertionFailedError: Should draw the field:
- [junit] 000010111100001111000101011010
- [junit] 110000011010100000101100000010
- [junit] 110100010101100000111011110111
- [junit] 001010101000101111100111111101
- [junit] 011010110110110100100000001000
- [junit] 010111111111011001010101010000
- [junit] 000101101101100011011101000010
- [junit] 101010010011010110101100011110
- [junit] 100000111000110011001011000111
- [junit] 100100110110010111100110111001
- [junit] 011011101010100101010100010010
- [junit] 001010111000010010001110011101
- [junit] 111101010010000011010101100111
- [junit] 111011100111001100011000011011
- [junit] 110110101001011011010111000011
- [junit] 010110001101101100100111110011
- [junit] 001101100010011101100101000000
- [junit] 101101110001101101001101000000
- [junit] 110110100010100000111101001101
- [junit] 011001111011000101111101110111
- [junit] 011110010000000010001010111001
- [junit] 100110011011011101001111000110
- [junit] 001101100111011101110001001011
- [junit] 111111000110010101011110010100
- [junit] 000010000101100001011011000011
- [junit] 000100000110011011011101100011
- [junit] 000000101011011111111101111011
- [junit] 010001010010000001111010010011
- [junit] 000010011010001100110010101110
- [junit] 000001000000101010010000110001
- [junit] but draw100001100101001011110110011110
- [junit] 011000000010110110100000000000
- [junit] 000100100110100110000000000000
- [junit] 000010100000001110001100000001
- [junit] 110000000000000000011100000100
- [junit] 010000000000001101010100100000
- [junit] 010000000000000000000000010011
- [junit] 110110000010011100100001101000
- [junit] 000101000000010000001001000000
- [junit] 001110000010010100010000111000
- [junit] 011010000011110100010001000010
- [junit] 000000001001000100010001010000
- [junit] 000000000011001011110001100000
- [junit] 000000001101111000010000011000
- [junit] 000000101000000011010000001000
- [junit] 010000101101000000010000000010
- [junit] 100000001110000001110000000001
- [junit] 100000010010100101000001100001
- [junit] 000000001110111100000001011100
- [junit] 000000001111000011000000000000
- [junit] 000000000000100000000000000000
- [junit] 100000011001010001001000000000
- [junit] 000000110000000001000001101000
- [junit] 110000101000010101000000101100
- [junit] 010001001001100101000000000100
- [junit] 100000001000000000000000000000
- [junit] 000000111001110000000000001000
- [junit] 100001000010010000000010000000
- [junit] 100011011101011110000100101100
- [junit] 000011000000000000011010000001
- [junit] : arrays first differed at element [0][0]; expected:<false> but was:<true>
- [junit] at tests.reqTests.GOLReq.testDrawStateOnAll3030Fields(GOLReq.java:107)
- [junit]
- [junit] Testcase: testLiveOnGlider took 0.184 sec
- [junit] Testcase: testCountNeighboursOnRandomField took 0.76 sec
- [junit] Testcase: testScanWorldOnAllFields took 0.028 sec
- [junit] Testcase: testComputeNewStateOnFieldOfSizeOne took 0 sec
- [junit] Testcase: testComputeNewStateOnRandomField took 0.021 sec
- [junit] TEST tests.reqTests.GOLReq FAILED
- [junit] Running tests.reqTests.Line
- [junit] Testsuite: tests.reqTests.Line
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw line?)
- [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.118 sec
- [junit] Output:
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw line?)
- [junit]
- [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.118 sec
- [junit] ------------- Standard Output ---------------
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw line?)
- [junit] ------------- ---------------- ---------------
- [junit]
- [junit] Testcase: TestIfFigureIsDrawnCorrectly took 0.118 sec
- [junit] Running tests.reqTests.Square
- [junit] Testsuite: tests.reqTests.Square
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.458 sec
- [junit] Output:
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit]
- [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.458 sec
- [junit] ------------- Standard Output ---------------
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] true
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw square?)
- [junit] ------------- ---------------- ---------------
- [junit]
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength3 took 0.126 sec
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength4 took 0.144 sec
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength5 took 0.185 sec
- [junit] Running tests.reqTests.SquareCross
- [junit] Testsuite: tests.reqTests.SquareCross
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.825 sec
- [junit] Output:
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit]
- [junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.825 sec
- [junit] ------------- Standard Output ---------------
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] Result: got [100] points of [100] and therefore [passed] (Can draw figure?)
- [junit] ------------- ---------------- ---------------
- [junit]
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength3 took 0.21 sec
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength5 took 0.233 sec
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength7 took 0.23 sec
- [junit] Testcase: TestIfFigureIsDrawnCorrectlyWithSidelength9 took 0.148 sec
- [junit] Tests FAILED
- BUILD FAILED
- /tmp/reactor-947ed554-6e3e-4057-8818-55ee476fb325/build.xml:254: functional tests failed.
- at org.apache.tools.ant.taskdefs.Exit.execute(Exit.java:164)
- at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
- at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
- at org.apache.tools.ant.Task.perform(Task.java:348)
- at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
- at net.sf.antcontrib.logic.IfTask.execute(IfTask.java:197)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
- at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
- at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
- at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:601)
- at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
- at org.apache.tools.ant.Task.perform(Task.java:348)
- at org.apache.tools.ant.Target.execute(Target.java:390)
- at org.apache.tools.ant.Target.performTasks(Target.java:411)
- at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
- at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
- at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
- at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
- at org.apache.tools.ant.Main.runBuild(Main.java:801)
- at org.apache.tools.ant.Main.startAnt(Main.java:218)
- at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
- at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
- Quellen
- Resources
- Libraries
- SVN-Revision 7152 vom 8. March 2012, 1:01:38 –
- SVN-Revision 7142 vom 8. March 2012, 0:38:47 –
- SVN-Revision 7140 vom 8. March 2012, 0:34:34 –
- SVN-Revision 7108 vom 7. March 2012, 23:00:41 –
- SVN-Revision 7097 vom 7. March 2012, 22:37:14 –
- SVN-Revision 7091 vom 7. March 2012, 22:24:12 –
- SVN-Revision 7061 vom 7. March 2012, 21:59:10 –
- SVN-Revision 7044 vom 7. March 2012, 21:43:21 –
- SVN-Revision 7028 vom 7. March 2012, 21:11:45 –
- SVN-Revision 7024 vom 7. March 2012, 20:57:50 –
- SVN-Revision 7010 vom 7. March 2012, 20:19:23 –
- SVN-Revision 6961 vom 7. March 2012, 19:13:58 –
- SVN-Revision 6955 vom 7. March 2012, 19:02:32 –
- SVN-Revision 4896 vom 4. March 2012, 19:15:41 –
- SVN-Revision 548 vom 21. February 2012, 13:06:49 – Copying template for user s222894 and assignment: ...
- Tobias Houfek (Logout)
- SS12_JPP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement