casio
Anmeldungsdatum: 13. August 2007
Beiträge: 61
Wohnort: Erde
|
Moin, mein Bruder braucht ein Batch-Skript fuer Linux, das ganze wurde auch schon umgeschrieben, es funktioniert leider noch nicht so ganz wie es soll. Vielleicht findet ihr ja einen Fehler. Die Batch Datei: http://ubuntuusers.de/paste/29123/ Und die Bash: http://ubuntuusers.de/paste/29125/ Danke schon mal. Gruss
|
Onli
Ehemalige
Anmeldungsdatum: 1. August 2005
Beiträge: 6941
|
Was genau klappt nicht, welche Fehlermeldung kommt? So auf den ersten Blick fällt mir nur auf, dass "...-bootclasspath "$NXJ_HOME/lib/classes..." in "...-bootclasspath "${NXJ_HOME}/lib/classes..." umgewandelt werden müsste, ebenso in den Zeile darunter. Gruß
|
casio
(Themenstarter)
Anmeldungsdatum: 13. August 2007
Beiträge: 61
Wohnort: Erde
|
Danke fuer die Antwort, hab das mal verbessert. Wenn man./nxj_do_all ausfuehrt passiert das hier. ubuntu:~/Software/IT-Seminar/lejos_nxj/bin$ ./nxj_do_all /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe
Cleaning...
Compiling...
error: cannot read: /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.java
1 error
leJOS NXJ> Linking...
an error occurred: Class .media.TREKSTOR.IT-Seminar.kreis2.kreisaufgabe (file /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.class) not found in CLASSPATH .:/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/bcel-5.1.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/commons-cli-1.0.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/pctools.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//lib/pccomm.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/jtools.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/bluecove.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/classes.jar Ausserdem sollte das ganze Script in Eclipse eingebunden werden. Wenn man es da ausfuehrt kommt immmer dass die Systemvariable "NXJ HOME" nicht definiert sei. Achja, nach jedem Neustart muss man NXJ HOME neu als Systemvariable definieren, sonst kommt auch in der normalen Konsole die oben gennante Fehlermeldung.
|
casio
(Themenstarter)
Anmeldungsdatum: 13. August 2007
Beiträge: 61
Wohnort: Erde
|
Danke fuer die Antwort, hab das mal verbessert. Wenn man./nxj_do_all ausfuehrt passiert das hier. ubuntu:~/Software/IT-Seminar/lejos_nxj/bin$ ./nxj_do_all /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe
Cleaning...
Compiling...
error: cannot read: /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.java
1 error
leJOS NXJ> Linking...
an error occurred: Class .media.TREKSTOR.IT-Seminar.kreis2.kreisaufgabe (file /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.class) not found in CLASSPATH .:/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/bcel-5.1.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/commons-cli-1.0.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/pctools.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//lib/pccomm.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/jtools.jar:
/home/ich/Software/IT-Seminar/lejos_nxj//3rdparty/lib/bluecove.jar:/home/ich/Software/IT-Seminar/lejos_nxj//lib/classes.jar Ausserdem sollte das ganze Script in Eclipse eingebunden werden. Wenn man es da ausfuehrt kommt immmer dass die Systemvariable "NXJ HOME" nicht definiert sei. Achja, nach jedem Neustart muss man NXJ HOME neu als Systemvariable definieren, sonst kommt auch in der normalen Konsole die oben gennante Fehlermeldung.
|
maschino
Anmeldungsdatum: 3. April 2007
Beiträge: 145
|
Du kannst das Setzen der NXJ Home Variable einfach automatisieren. Im Homeverzeichnis die Datei .bashrc öffnen und dort in eine neue Zeile export NXJ_HOME=/home/bla/bla einfügen. Damit sollte es funktionieren und wahrscheinlich auch von Eclipse erkannt werden. Zu deinem anderen Problem kann ich leider nichts sagen. Gruß, maschino
|
jerik
Anmeldungsdatum: 19. August 2006
Beiträge: 425
|
funktionieren den alle kommandos wenn du sie einzeln durchführst ? Ich glaub da happerts bestimmt schon Gruss – jerik
|
jerik
Anmeldungsdatum: 19. August 2006
Beiträge: 425
|
mach mal chmod 777 /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.java Sieht mir nach einem berechtigungsproblem aus. Gruss – jerik
|
Lunar
Anmeldungsdatum: 17. März 2006
Beiträge: 5792
|
jerik hat geschrieben: mach mal chmod 777 /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.java Sieht mir nach einem berechtigungsproblem aus.
Na toll, da hast du auch genau den richtigen Weg zur Lösung gezeigt. Warum sagst du ihm nicht gleich, er soll als root arbeiten? 🙄 Man gibt nur die Rechte, die man braucht. Java-Quellcode braucht definitiv keine Ausführungsrechte, und höchstwahrscheinlich auch nicht weltweiten Schreibzugriff. chmodd 644 /pfad/zu/meiner/datei muss reichen! Allerdings sagt die Meldung nur aus, dass die Datei nicht gelesen werden kann. D.h. sie kann auch schlichtweg nicht existieren. Diese Umstand sollte man vielleicht zuerst überprüfen.
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
Nur so als Anmerkung, warum nimmt dein Bruder nicht Ant, bzw. wenn viel Elan vorhanden ist Apache_Maven die sind beide eigentlich genau für solche Sachen gedacht, plattformunabhängig und zumindest ANT standardmäßig in Eclipse unterstützt 😉.
|
casio
(Themenstarter)
Anmeldungsdatum: 13. August 2007
Beiträge: 61
Wohnort: Erde
|
Ich werd ihm mal die Links geben. Aber er braucht das fuer irgend ein Seminar, wo so ein Legoroboter programmiert wird. Die Datei dient dazu, den Code zu complimieren und auf den Roboter zu uebertragen. Also ob das mit den Links dann so sinnvoll ist, muss er entscheiden.
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
Na ja soweit ich die bisherigen Scripts lese, gehts ja erstmal hauptsächlich darum, java code zu kompilieren und zu ner sauberen Distribution zusammenzufassen, und da ist der Standard in der Java Welt halt ANT, das kann man sich wie ein spezialisiertes make mit ein paar Zusatztricks vorstellen. Maven ist dafür wohl oversized, aber ANT ist wirklich kein großes Ding und IMO für solche Aufgaben leichter/flexibler als Shellscripte, mehr als ein bisserl XML und 2-3 Beispiele ansehen braucht man nicht um das zu beherschen ☺, aber war nur ein Vorschlag.
|
Marc_BlackJack_Rintsch
Ehemalige
Anmeldungsdatum: 16. Juni 2006
Beiträge: 4694
Wohnort: Berlin
|
Kann es sein, das es keine Datei mit dem Namen kreisaufgabe.java gibt, und die Kreisaufgabe.java heisst!?
|
casio
(Themenstarter)
Anmeldungsdatum: 13. August 2007
Beiträge: 61
Wohnort: Erde
|
So, heute kam eine neue E-Mail rein. Er hat wohl ein bisschen rumprobiert und auch die Tipps hier gelesen. Warum er sich hier aber nicht mal selbst anmelden kann wuerde ich gerne wissen... Also dann spiel ich mal wieder den Vermittler. Er hat es soweit gebracht dass es wohl complimiert wird. Dann kommt aber diese Fehlermeldung:
ubuntu:~/Software/IT-Seminar/lejos_nxj/bin$ ./nxj_do_all kreisaufgabe
Cleaning...
Compiling...
leJOS NXJ> Linking...
leJOS NXJ> Uploading...
leJOS NXJ> no jlibnxt in java.library.path
leJOS NXJ> no jbluez in java.library.path
an error occurred: Cannot load a comm driver jbluez hat er (bzw ich...) im Internet gefunden, jlibnxt allerdings nicht. Allerdings, wo speichert man jbluez denn ab? /java-version/und/dann ??? P.S. Er hat mir mal die Dateien wo er braucht zusammengestellt. Das sind: Eclipse (git es fuer Linux) Java Development Kit (gibts fuer Linux) Lejos NXJ Firmware (gibt fuer Linux) libusb-win32 (da wurde natuerlich die Linux Version genommen) Mindstorm NXT Driver (das gibt noch Raetsel auf, wurde bisher nicht fuer Linux gefunden, geht das vill deshalb nicht?) Sowie die oben geschriebene bat-Datei; wurde in eine Shell-Datei umgeschrieben.
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
Java nutzt dynamisches Linken, wenn du/er externe Bibliotheken nutzen willst, ist der üblich Weg die per -cp MyFirstForeign.jar:MySecondForeign.jar etc. anzugeben... Alternativ kann man auch sofern die Lizenz der Libraries das erlaubt, die Jars zur eigenen Jar dazupacken (nicht die Jar in die Jar, sondern den Inhalt der Jar in die Jar 😉). Vom globalen Library Path rät man eigentlich heutzutage ab, weil das gerne dazu führt, dass sich verschiedene Java Programme gegenseitig die Libraryversionen überschreiben/zerstören
|
jerik
Anmeldungsdatum: 19. August 2006
Beiträge: 425
|
Lunar hat geschrieben: jerik hat geschrieben: mach mal chmod 777 /media/TREKSTOR/IT-Seminar/kreis2/kreisaufgabe.java Sieht mir nach einem berechtigungsproblem aus.
Na toll, da hast du auch genau den richtigen Weg zur Lösung gezeigt. Warum sagst du ihm nicht gleich, er soll als root arbeiten? 🙄 Man gibt nur die Rechte, die man braucht. Java-Quellcode braucht definitiv keine Ausführungsrechte, und höchstwahrscheinlich auch nicht weltweiten Schreibzugriff. chmodd 644 /pfad/zu/meiner/datei muss reichen! Allerdings sagt die Meldung nur aus, dass die Datei nicht gelesen werden kann. D.h. sie kann auch schlichtweg nicht existieren. Diese Umstand sollte man vielleicht zuerst überprüfen.
Das spart erstmal nerven, man kann es später immer noch auf die entsprechenden berechtigungen runterschrauben (ob mans macht ist wieder eine andere Frage). hmmm... neues tool, wusst garnicht das es chmodd gibt... was kann das den mehr 😈 cheers – jerik
|