Donnerstag, 3. Juni 2010
IDEs und Projektverzeichnisse und wie Maturanten damit umgehen
Ich versuche gerade, die Programmierarbeiten der Projektwoche der Reife- und Diplomprüfung zu korrigieren. Die Maturanten haben mich da vor ziemlich großes Problem gestellt, denn ich muss von 17 Abgegebenen Projekten
Das Verzeichnis, das mit "-brz" endet, enthält das Projekt, aber eben ohne die Sourcen.
Ich denke, man muss schon ziemlich Hand anlegen, um aus den Projektverzeichnissen diese kaputten Projekte zu erzeugen.
Ich frage mich, was so kompliziert ist, wenn es heißt: "Das gesamte Projekt-Verzeichnis (
Die Angabe für das Projekt war so:
"Verwenden Sie als Standard-Encoding UTF-8 (Unicode)!
Nennen Sie das Projekt Name-brz, wobei Name Ihr Familienname ist.
Erstellen Sie eine geeignete Paket-Struktur.
Erstellen Sie die Verzeichnisse
Programmaufruf: über ein Argument der Kommandozeile soll festgelegt werden, ob das Programm als Server (Argument
Erstellen Sie ein Ant-Script, mit dem die Applikation und die Dokumentation (neu) erstellt werden kann."
Es durfte frei zwischen Eclipse und Netbeans gewählt werden.
Die Leute haben 5 oder mehr Jahre Programmieren hinter sich. Und immer wieder Tests in dieser Arbeitsumgebung (Java unter Linux). Ich verstehe das nicht!
Diese Umstände kosteten bis jetzt ein paar Stunden Arbeit (überhaupt, wenn man diesen Blog-Eintrag mitrechnet). Wirklich korrigiert habe ich noch keine der Arbeiten.
- bei einem einen Java-Decompiler verwenden, damit ich überhaupt praktisch mit dem Programm arbeiten und mir Fehler genauer betrachten kann, denn dieser Kandidat hat nur die
*.class-Dateien ins Abgabe-Archiv gepackt (Eclipse-Projekt). - bei 6 (sechs) ich die
*.java-Dateien mühsam wieder in die richtige Paket-Struktur bringen, teilweise nur durch händisches Anlegen der Klassen und dann Kopieren der entsprechenden Textstellen aus der einen Textdatei, in der alle Klassen zusammengefasst waren (alles Netbeans-Projekte). - bei den restlichen 10 konnte ich das Projektverzeichnis unmittelbar verwenden (4 Eclipse-, 5 Netbeans-Projekte bzw. ganz ohne Meta-Information der IDE).
Das nächste Bild zeigt ein falsch abgegebenes Projekt. Es gibt in den Paket-Verzeichnissen keine
Die *.java-Dateien!*.java-Dateien waren im übergeordneten Verzeichnis zu finden. Die Verzeichnisse mit den Sourcen beginnen alle mit einem Leerzeichen und müssen erst wieder umbenannt werden:Das Verzeichnis, das mit "-brz" endet, enthält das Projekt, aber eben ohne die Sourcen.
Ich denke, man muss schon ziemlich Hand anlegen, um aus den Projektverzeichnissen diese kaputten Projekte zu erzeugen.
Ich frage mich, was so kompliziert ist, wenn es heißt: "Das gesamte Projekt-Verzeichnis (
Name-brz) in eine Jar-Datei (Name-brz.jar) packen und ins Abgabeverzeichnis kopieren (Name-brz.jar enthält also u.a. die „ausführbare“ Datei brz.jar)."Die Angabe für das Projekt war so:
"Verwenden Sie als Standard-Encoding UTF-8 (Unicode)!
Nennen Sie das Projekt Name-brz, wobei Name Ihr Familienname ist.
Erstellen Sie eine geeignete Paket-Struktur.
Erstellen Sie die Verzeichnisse
build und doc. Im Verzeichnis build muss das fertige Programm brz.jar abgelegt werden. In doc muss die generierte JavaDoc abgelegt werden. Legen Sie im Projektverzeichnis eine Datei readme.txt an, die Hinweise zum Erzeugen von brz.jar enthält.brz.jar soll alle nötigen Informationen zum Betrieb mit Ausnahme der Datenbankdateien enthalten, d.h. brz.jar soll in jedem beliebigen Verzeichnis aufgerufen werden können.Programmaufruf: über ein Argument der Kommandozeile soll festgelegt werden, ob das Programm als Server (Argument
server), Client (Argument client) oder AdminClient (Argument admin) läuft.Erstellen Sie ein Ant-Script, mit dem die Applikation und die Dokumentation (neu) erstellt werden kann."
Es durfte frei zwischen Eclipse und Netbeans gewählt werden.
Die Leute haben 5 oder mehr Jahre Programmieren hinter sich. Und immer wieder Tests in dieser Arbeitsumgebung (Java unter Linux). Ich verstehe das nicht!
Diese Umstände kosteten bis jetzt ein paar Stunden Arbeit (überhaupt, wenn man diesen Blog-Eintrag mitrechnet). Wirklich korrigiert habe ich noch keine der Arbeiten.
Labels: allgemeines, eclipse, Fehler, netbeans, PR5
Sonntag, 20. September 2009
Entwicklungsumgebung für veschiedene Programmiersprachen einrichten
Richten Sie sich eine Entwicklungsumgebung ein, mit der Sie Java, C, C++, Ruby, Groovy und evtl. Python programmieren können. Weiters sollte es möglich sein, Projekte in einem CVS-Repository abzulegen.
Der Schwerpunkt - auch im Hinblick auf die Reife- und Diplomprüfung - liegt auf Java, aber im Laufe des Jahres werden die anderen Sprachen verwenden.
Für Ihre Projekte (Programmbeispiele) sollten Sie sowieso eine Versionsverwaltung einsetzen. In der Schule haben wir einen CVS-Server eingerichtet. Auf diesem System müssen Sie außerdem Ihre Beispiele abgeben.
Ich empfehle eclipse oder netbeans als Entwicklungsumgebung (wobei ich mir nicht sicher bin, ob netbeans auch ein Groovy-Plugin hat).
Falls Sie noch keinen Zugang zum CVS-Server haben, melden Sie sich bei mir.
"Abgabe": erstellen Sie folgende Projekte und checken Sie diese auf dem CVS-Server ein.
Termin: Montag 5.10.2009 um 8:40
Der Schwerpunkt - auch im Hinblick auf die Reife- und Diplomprüfung - liegt auf Java, aber im Laufe des Jahres werden die anderen Sprachen verwenden.
Für Ihre Projekte (Programmbeispiele) sollten Sie sowieso eine Versionsverwaltung einsetzen. In der Schule haben wir einen CVS-Server eingerichtet. Auf diesem System müssen Sie außerdem Ihre Beispiele abgeben.
Ich empfehle eclipse oder netbeans als Entwicklungsumgebung (wobei ich mir nicht sicher bin, ob netbeans auch ein Groovy-Plugin hat).
Falls Sie noch keinen Zugang zum CVS-Server haben, melden Sie sich bei mir.
"Abgabe": erstellen Sie folgende Projekte und checken Sie diese auf dem CVS-Server ein.
- 5ad-name-java-helloworld
- 5ad-name-c-helloworld
- 5ad-name-cpp-helloworld
- 5ad-name-ruby-helloworld
- 5ad-name-groovy-helloworld
- 5ad-name-python-helloworld
Termin: Montag 5.10.2009 um 8:40
Labels: Aufgabe, C, C++, CVS, eclipse, groovy, Java, netbeans, PR5, Programmiersprachen, Python, ruby
Mittwoch, 4. März 2009
CVS - "cvs commit: nothing known about ..."
Ein Schüler fragte mich, was die Fehlermeldung "cvs commit: nothing known about ..." beim commit aus Netbeans bedeutet. Ich konnte das nicht beantworten, also googeln: Diese Fehlermeldung kommt, wenn man eine Datei "commiten" will, die dem CVS noch nicht bekanntgegeben wurde (
Folgenden Workaround habe ich gefunden:
Grundsätzlich vereinfacht aber Netbeans (und auch eclipse) die Verwendung von CVS - schon alleine die umständlichen Schritte beim Anlegen (import) entfallen.
Scheinbar ein Bug im Netbeans.
Links:
cvs add file). Der Schüler hatte die Datei schon gelöscht. Also ist auch kein cvs add nötig. Aber aus einem mir (noch) unbekannten Grund versucht Netbeans doch ein "commit" auf diese (nicht existierende) Datei zu machen.Folgenden Workaround habe ich gefunden:
- Alle einzelnen Dateien des Projekts händisch commiten.
- Das Projekt in einem neuen Verzeichnis auschecken.
- Prüfen, ob alles da ist.
- Das alte/originale Projekt löschen.
- Das neue verwenden.
cvs add kümmern. Da würde man verstehen, warum man eine nicht existierende Datei nicht "commiten" kann. Hier war aber die Datei offensichtlich nicht vorhanden und trotzdem versuchte Netbeans ein "commit".Grundsätzlich vereinfacht aber Netbeans (und auch eclipse) die Verwendung von CVS - schon alleine die umständlichen Schritte beim Anlegen (import) entfallen.
cvs add braucht man nicht machen.Scheinbar ein Bug im Netbeans.
Links:
Labels: CVS, eclipse, Fehler, netbeans
Montag, 26. Januar 2009
GUI mit Netbeans erstellen und mit Eclipse weiterbearbeiten
Ich kenne keinen brauchbaren GUI-Designer für eclipse. Der GUI-Designer von Netbeans funktioniert ganz gut, dennoch verwende ich sonst zum Arbeiten lieber eclipse. eclipse compiliert immer im Hintergrund und ist daher in der Bedienung schneller. Außerdem hat es das Scrap Book, wo man mal schnell ein paar Zeilen probieren kann ohne gleich eine ganz Klasse schreiben zu müssen. Aber das meiste ist einfach Geschmacksache.
Netbeans verwendet eine eigene Klassen-Library für die graphischen Oberflächen. Die muss man auch im eclipse-Projekt verwenden. Es sind das die Libraries
Also zunächst ein "Java Desktop Application"-Projekt anlegen, das GUI erstellen und den About-Dialog ändern.

Als nächstes legt man ein einfaches Java-Projekt in eclipse an und kopiert die Pakete (Klassendateien) in das entprechende Projektverzeichnis, z.B.
Wo sich diese Jar-Dateien befinden ermittelt man aus dem "Properties"-Dialog von Netbeans:

Im eclipse muss man wieder ein "refresh" machen und anschließend die Libraries "aktivieren": Build Path->Add External Achives

Dass die Jar-Files eingebunden sind, sieht man im Projekt-Explorer:

Die Applikation lässt sich dann starten und ändern.
Aber Achtung: der von Netbeans erzeugte Code ist nicht so einfach. Man muss sich vorher schon ziemlich genau überlegen, wie man sein System gestaltet und dann erst das GUI dazu machen.
Netbeans verwendet eine eigene Klassen-Library für die graphischen Oberflächen. Die muss man auch im eclipse-Projekt verwenden. Es sind das die Libraries
appframework-1.0.3.jar und swing-worker-1.1.jar, zu finden im Verzeichnis java2/modules/ext/ unterhalb des Netbeans-Installationsverzeichnisses (bei mir /usr/local/netbeans-6.1/).Also zunächst ein "Java Desktop Application"-Projekt anlegen, das GUI erstellen und den About-Dialog ändern.

Als nächstes legt man ein einfaches Java-Projekt in eclipse an und kopiert die Pakete (Klassendateien) in das entprechende Projektverzeichnis, z.B.
hh@turing:~/netbeans/Gui2Eclipse/src> ls gui2eclipse/ Gui2EclipseAboutBox.form Gui2EclipseAboutBox.java Gui2EclipseApp.java Gui2EclipseView.form Gui2EclipseView.java resources hh@turing:~/netbeans/Gui2Eclipse/src> cp -r gui2eclipse/ ~/workspace/Gui2Eclipse/src/ hh@turing:~/netbeans/Gui2Eclipse/src> cd ~/workspace/Gui2Eclipse/In eclipse muss man natürlich ein "refresh" machen. Dann erscheinen die Pakete mit den Klassen im Package Explorer, allerdings mit Fehlern, da ja die Libraries fehlen. Um dieses Problem zu beheben, legen wir im Quell-Ordner des Projekts (
src/) ein lib/-Verzeichnis an, in die wir die nötigen Libraries kopieren:hh@turing:~/workspace/Gui2Eclipse/src> mkdir lib hh@turing:~/workspace/Gui2Eclipse/src> cd lib hh@turing:~/workspace/Gui2Eclipse/src/lib> cp /usr/local/netbeans-6.1/java2/modules/ext/appframework-1.0.3.jar . hh@turing:~/workspace/Gui2Eclipse/src/lib> cp /usr/local/netbeans-6.1/java2/modules/ext/swing-worker-1.1.jar .
Wo sich diese Jar-Dateien befinden ermittelt man aus dem "Properties"-Dialog von Netbeans:

Im eclipse muss man wieder ein "refresh" machen und anschließend die Libraries "aktivieren": Build Path->Add External Achives

Dass die Jar-Files eingebunden sind, sieht man im Projekt-Explorer:

Die Applikation lässt sich dann starten und ändern.
Aber Achtung: der von Netbeans erzeugte Code ist nicht so einfach. Man muss sich vorher schon ziemlich genau überlegen, wie man sein System gestaltet und dann erst das GUI dazu machen.
Labels: eclipse, Java, netbeans, PR3, PR5
Abonnieren Posts [Atom]


