Einiges zum Praktikum

TimN
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 19. Feb 2005 12:30

Einiges zum Praktikum

Beitrag von TimN »

Ich wollte an dieser Stelle für diejenigen, die sich die Seiten zum Praktikum nicht regelmäßig durchlesen noch einmal darauf hinweisen, dass es jetzt einige zusätzliche Informationen zur Kombination Ant/Eclipse auf den Veranstaltungsseiten gibt.

Die wichtigsten Fragen(neben denen die wirklich mit der Aufgabe zu tun hatten), die mir im Laufe der Woche gestellt wurden waren glaube ich:

1. Wie bekomme ich das ant Zeug unter Eclipse zum Laufen?

Antwort: Gar nicht, jedenfalls haben weder die anwesenden Studenten, noch wir beteiligten tutoren das hinbekommen. Wie den Veranstaltungsseiten entnommen werden kann, soll das ja auch nicht so funktionieren, sondern die minimale Testumgebung ist primär dazu da, in der Uni zu testen, ob das .jar File korrekt vom testsystem entpackt, die darin enthaltenen Dateien kompiliert werden usw.

2. es gab einige Leute, die mit junit Probleme hatten und fragten, ob irgendwelche zusätzlichen packages verwendet werden müssen.

Antwort: Verwenden Sie keine packages, von denen Sie nicht hundertprozentig sicher sind, dass diese auch auf dem Uploadserver vorhanden und eingebunden sind. Oder anders ausgedrückt, verwenden sie keine zusätzlichen packages, dann gehen Sie auf Nummer sicher :-)

3. Muss ich meine Testcase/Class-Files etc. mit in das jar File packen und einreichen?

Antwort: Auf jeden Fall müssen die Quellcode Dateien in dem jar stecken. Es gibt aber keine Fehler, wenn noch andere Files außer den .java in dem jar stecken.

Diese Informationen stehen aber wie gesagt auch auf den Veranstaltungsseiten!!
Zuletzt geändert von TimN am 26. Apr 2007 20:15, insgesamt 1-mal geändert.

Benutzeravatar
marlic
Computerversteher
Computerversteher
Beiträge: 365
Registriert: 5. Okt 2006 11:09
Wohnort: Dietesheim

Beitrag von marlic »

Bei Punkt 3 kann ich dir da nicht zustimmen.

Hat man Quellcode in der Datei der nicht durch den Compiler läuft, dann gibt es Probleme.
Speziell wenn man JUnit (ich habs mit JUnit 4 gemacht, dürfte aber auch für 3 gelten) Testfälle einbindet, dann gibt es Fehlermeldungen von der Art, dass org.junit nicht gefunden werden kann.
"Copy & Passed"

Wahlspruch der Plagiatoren

TimN
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 19. Feb 2005 12:30

Beitrag von TimN »

Guter Einwand, natürlich sollten keine .java Dateien drin stecken, die unter Punkt 2 fallen, oder ein ähnliches Problem auslösen.
Im Idealfalle sind tatsächlich nur die unerlässlichen Dateien enthalten.

wach
Computerversteher
Computerversteher
Beiträge: 323
Registriert: 25. Okt 2004 09:08

Beitrag von wach »

marlic hat geschrieben: Speziell wenn man JUnit (ich habs mit JUnit 4 gemacht, dürfte aber auch für 3 gelten) Testfälle einbindet, dann gibt es Fehlermeldungen von der Art, dass org.junit nicht gefunden werden kann.
Junit 3 funktioniert.

der andere
Neuling
Neuling
Beiträge: 6
Registriert: 27. Apr 2007 14:41

Beitrag von der andere »

Zu Punkt 1:

Wenn ich dich richtig verstanden habe sagst du dass die minimale Testumgebung auf den normalen Windowsrechnern zu Hause nicht lauffähig ist -> Falsch.

Ein Lösungsweg:
- In Eclipse neues Projekt von Java Ant File erstellen. (müsste auch mit den Dateien in der Zip File funktionieren (Will sagen man muss vllt kein neues Projekt erstellen sondern kann auch das vorhandene importieren, wenn man ein neues erstellen will dann von der build.xml im zip File))

- In das neue Projektverzeichnis die eigene Test.jar und die junit.jar kopieren sowie den Ordner Tests

- In das Eclipse root Verzeichnis \plugin\org.apache_ant_irgendwas\lib junit.jar kopieren (zb aus dem runtergeladenen zip File

- In Eclipse Window->Preferences->Ant->Runtime im Classpath Fenster Java Home markieren und dann add external Jar und die Junit.jar die vorher kopiert wurde auswählen

- Außerdem noch im Java root (bei mir D:\Programme\Java\jdk1.5.0_10\lib) die tools.jar von JDK nach JRE kopieren

- Dann in Eclipse Window -> Show View -> Ant

Es kann sein, dass nicht alle Schritte nötig sind, aber dies sind (hoffentlich alle) Änderungen die ich vorgenommen habe, danach sollte es funktionieren.

Wenn ich dich falsch verstanden habe hilft es vllt n paar leuten bei denen es bis jetzt nicht gefunzt hat :)

greetz


Edit:

Ich hab den Beitrag an verschiedenen stellen ergänzt da er wohl noch nich ganz verständlich war....
Zuletzt geändert von der andere am 27. Apr 2007 17:52, insgesamt 5-mal geändert.

TimN
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 19. Feb 2005 12:30

Beitrag von TimN »

Ich danke Dir für diese Antwort und hoffe ebenfalls, dass dies einigen hilft.
Du bist übrigens der Erste(zumindest von den Studenten, die ich im Pool getroffen habe), der das Problem gelöst hat.

PS: Ich meinte nicht, dass es gar nicht geht, sondern, dass wir es nicht hin bekommen haben und es so auch gar nicht gedacht war.

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Beitrag von Red*Star »

wach hat geschrieben:
marlic hat geschrieben: Speziell wenn man JUnit (ich habs mit JUnit 4 gemacht, dürfte aber auch für 3 gelten) Testfälle einbindet, dann gibt es Fehlermeldungen von der Art, dass org.junit nicht gefunden werden kann.
Junit 3 funktioniert.
Und was ist wenn ich (aus welchen ominösen Gründen auch immer) JUnit 4 benutzen muss/will?

Kann ich dann evtl. meine TestCases als .java.txt mit ins jar packen? Dann umgehe ich die Kompilierfehler, meine Tests (die ja wohl mit rauf müssen) sind aber trotzdem mit dabei.

Benutzeravatar
infinity_dev
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 16. Okt 2006 01:32

Beitrag von infinity_dev »

Für das lokale Testen der geschriebenen Klassen braucht man überhaupt kein Ant. Ich habe das Ganze in Eclipse wie folgt gemacht und dann auf nem Ultra per SSH getestet:

- Neues Projekt erstellen
- Die NoTest.java und junit.jar aus dem Zip-File, sowie die Praktikum_1.java in das Projektverzeichnis kopieren.
- Das Projekt in Eclipse refreshen.
- Die junit.jar einbinden über Project->Properties->Java Build Path->Libraries->Add JARs
- Code schreiben.
- Schauen ob das Ganze mit dem NoTest Test Case läuft (TestCase.java öffnen, Run->Run As->JUnit Test
- Eventuell noch eigene Tests schreiben.
- Um das Ganze nun als Jar zu verpacken, Rechtsklick aufs Projekt->Export->Jar File. Haken dürfen nur bei "Export java source files and resources" und "Compress the contents of the JAR" gesetzt sein. Im Baum mit den zu exportierenden Dateien die Praktikum_1.java auswählen, alles andere deselektieren.
- Nun kann man testen, ob sich das Ganze auch auf den Ultras kompilieren und ausführen lässt.
- Dazu baut man eine SSH Verbindung mit z.B. Putty zu einem der Ultras auf.
- Einloggen mit den RBG-Accountdaten.
- Testumgebung runterladen mit dem Befehl: wget http://www.di.informatik.tu-darmstadt.d ... kum/P1.zip
- Testumgebung entpacken: unzip P1.zip
- Nun kann die erstellte test.jar in den Ordner P1 hochgeladen werden (z.B. über den Samba-Server oder per SFTP/ssh mit PSFTP direkt auf den Ultra-Server)
- Jetzt wieder zum SSH Fenster wechseln.
- Ins Praktikumsverzeichnis wechseln: cd P1
- Nötige Pfade setzen mit dem Skript (den Punkt nicht vergessen): . /home/wach/setup_ultras
- Prüfen ob sich die test.jar kompilieren und ausführen lässt: ant test
- Die Ausgabe sollte dann etwa so aussehen:

Code: Alles auswählen

clean:
   [delete] Deleting 2 files from /nethome/ultra05/disc5/users1/rbg-account/P1/bin
   [delete] Deleting 1 files from /nethome/ultra05/disc5/users1/rbg-account/P1/src
   [delete] Deleting 1 files from /nethome/ultra05/disc5/users1/rbg-account/P1/report

extract:
    [unjar] Expanding: /nethome/ultra05/disc5/users1/rbg-account/P1/test.jar into /nethome/ultra05/disc5/users1/rbg-account/P1/src

compile:
    [javac] Compiling 1 source file to /nethome/ultra05/disc5/users1/rbg-account/P1/bin

compiletests:
    [javac] Compiling 1 source file to /nethome/ultra05/disc5/users1/rbg-account/P1/bin

test:
    [junit] Running NoTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.018 sec

Benutzeravatar
Red*Star
Kernelcompilierer
Kernelcompilierer
Beiträge: 510
Registriert: 28. Nov 2006 19:40

Beitrag von Red*Star »

Oh, hab gerade die Antwort auf meine Frage im Forum gefunden => " Upload mit oder ohne testcase? "

manchmal ist man aber auch blind...

@infinity_dev: Gute Anleitung (sofern es funzt ;) ). Hm, wäre vielleicht geeignet für ein Sticky Topic, oder nicht?
Was Sonnenschein für das schwarze Erdreich ist,
ist wahre Aufklärung für die Verwandten des Erdreichs.

- N.F.S. Grundtvig

der andere
Neuling
Neuling
Beiträge: 6
Registriert: 27. Apr 2007 14:41

Beitrag von der andere »

@ infinity:

joa kann man schon machen, fragt sich nur was einfacher ist, vor allem wenn man bedenkt dass noch 7 praktika vor uns liegen :)

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Beitrag von Student20 »

Guten Abend!;

darf man den beiden Methoden :
public int getOptimalerWert()
public boolean[] getOptimaleBefuellung()

Parameter übergeben?
Wenn nicht, wie soll man dann später in der main- Methode die Parameter aufrufen?


Danke!
Zuletzt geändert von Student20 am 28. Apr 2007 23:45, insgesamt 2-mal geändert.

RomanSoldier
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 220
Registriert: 1. Dez 2005 20:32

Beitrag von RomanSoldier »

nein, du darfst die vorgegebenen Prozeduren nicht ändern (steht auf der Veranstaltungsseite)

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Beitrag von Student20 »

Darf man eigentlich neue Methoden hinzufügen?

RomanSoldier
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 220
Registriert: 1. Dez 2005 20:32

Beitrag von RomanSoldier »

klaro, habe ich auch gemacht.

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Beitrag von Student20 »

vielen Dank !

Sag mal, für was braucht man eigentlich die beiden Methoden? Für die Ausgabe? Das Rucksackproblem würde ich lieber in einer anderen Methode schreiben....

Antworten

Zurück zu „Archiv“