Java

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Re: CLASSPATH

Post by D-Lite »

towaibw wrote:

Code: Select all

java -cp codemercs.jar -jar iow0.9.3.jar
funktioniert nicht, gleiche Fehlermeldung wie vorher. Die Version hatte ich auch schonmal ausprobiert, bevor mir die Ideen ausgingen :)

oder

Code: Select all

java -cp codemercs.jar;iow0.9.3.jar  de.wagner_ibw.iow.ListDevices
Ah! .. die Version hat funktioniert , schön :-)
towaibw wrote: in harten Fällen ist folgendes erforderlich:

Code: Select all

java -Xbootclasspath:codemercs.jar -jar iow0.9.3.jar
Das widerum hat garnicht geklappt, diesmal kam eine andere Fehlermeldung:

Code: Select all

C:\Dokumente und Einstellungen\D-Lite\Eigene Dateien\SDK\Java>java -Xbootclass
th:codemercs.jar -jar iowj0.9.3.jar
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

towaibw wrote:
Hast Du eigentlich http://iow.wagner-ibw.de/iowj.html#dj gelesen?
Ja, daher hatte ich die Version mit "java -jar iowj0.9.3.jar" :-). Ich werd vielleicht später nochmal reinschauen und ein paar der Beispiele ausprobieren. Frage am Rande, nur mal so aus Interesse: Wenn man den Java-Support für den IO-Warrior auf ein anderes Betriebssystem portieren wollte, was müsste man dann portieren, nur die iowkit.dll oder auch das codemercs.jar?

Gruss & danke für die schnelle Antwort

Werner
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Dazu muss man nur die iowkit.dll portieren.
libiowkit.so fuer Linux ist das Beispiel dazu. Java laedt "iowkit". Die Ladefunktion ist betriebssystemspezifisch und ergaenzt die noetigen Namensbestandteile.
Der Teil der Sourcen der die Java-Klassen in iowkit.dll implementiert ist sogar betriebssystemunabhaengig, da er nur auf das IOWKIT API zugreift.

Eine MacOS-Implementierung steht auf dem Plan, hat aber noch keinen Termin.
D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Post by D-Lite »

Robert Marquardt wrote: Eine MacOS-Implementierung steht auf dem Plan, hat aber noch keinen Termin.
Ich hatte an NetBSD oder FreeBSD gedacht:9 Da MacOS-X ja auf FreeBSD basiert, warte ich dann am besten mal ab, bis die Version fertig ist. Diese sollte sich dann ja (theoretisch) leicht auf andere BSD-Versionen portieren lassen. Ich hatte schon vor längerem mal ein paar erfolgreiche Versuche unter NetBSD gemacht, den IO-Warrior per JAVA direkt anzusprechen. Aber wenn es jetzt eine betriebssystemübergreifende API dafür gibt, umso besser.

Gruss

Werner
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Da kannste lange warten ;-)
Will heissen es ist nicht sicher wann wir Zeit dazu finden.
Es gibt uebrigens kein Problem damit freie Fremdsoftware aufzunehmen.
So sind wir schliesslich an den groessten Teil der Java- und Linuxunterstuetzung gekommen.
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

CLASSPATH

Post by towaibw »

Die dritte Variante, den CLASSPATH zu setzten, funktioniert, wenn man die richtige Option verwendet (/a oder /p: den search path nach oder vor dem bootstrap class path hinzufügen). Ohne diese zusätzliche Option wird der bootstrap class path komplett erstetzt und in codemercs.jar ist nun wirklich nicht viel 'drin ;-)

richtige Lösung:

Code: Select all

java -Xbootclasspath/a:codemercs.jar -jar iow0.9.3.jar
oder

Code: Select all

java -Xbootclasspath/p:codemercs.jar -jar iow0.9.3.jar
D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Post by D-Lite »

Robert Marquardt wrote:Da kannste lange warten ;-)
Ich hab Zeit :) Aber wenn das Wetter für den Rest meines Urlaubs weiterhin so schlecht bleibt, fang ich vielleicht wirklich noch an einen Portierungsversuch zu starten, mal sehen..
D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Re: CLASSPATH

Post by D-Lite »

D-Lite wrote: Ich werd vielleicht später nochmal reinschauen und ein paar der Beispiele ausprobieren.
Hab ich grad gemacht und das läuft auch echt prima. Ich hab allerdings die "package"-Anweisungen aus den Beispielprogrammen rausgeworfen, dann kann ich die Programme direkt im example-Verzeichnis compilieren und starten (javac LcdExample.java ; java LcdExample ). Im LM75Example musste ich noch die Serial-Nummer des I/O-Warriors ändern, dann hat auch das funktioniert. Auch das RC5-Example läuft auf Anhieb. Ich würd fast sagen, damit dürfte dem Siegeszug von Java als Programmiersprache Nummer 1 für den I/O-Warrior nichts mehr im Wege stehen :-).
Guido Körber
Site Admin
Posts: 2857
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Robert Marquardt wrote:Da kannste lange warten ;-)
Also diese etwas flapsige Antwort will ich so nicht stehen lassen.

Wir haben momentan noch keinen Zeitplan für die Überarbeitung der MacOS X Software, aber das wird die nächste größere Änderung am SDK sein. Windows und Linux laufen jetzt ja schön rund, das Gleiche will ich natürlich auch auf dem System sehen das ich überwiegend benutze...
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Re: CLASSPATH

Post by towaibw »

D-Lite wrote:Hab ich grad gemacht und das läuft auch echt prima. Ich hab allerdings die "package"-Anweisungen aus den Beispielprogrammen rausgeworfen, dann kann ich die Programme direkt im example-Verzeichnis compilieren und starten (javac LcdExample.java ; java LcdExample ). Im LM75Example musste ich noch die Serial-Nummer des I/O-Warriors ändern, dann hat auch das funktioniert. Auch das RC5-Example läuft auf Anhieb.
Hallo Werner,
Dank für Dein Feedback. Ich würde grundsätzlich empfehlen, das Eclipse Projekt zu verwenden (http://iow.wagner-ibw.de/download/Iow.zip einfach in den workspace von Eclipse entpacken und unter Projects/Properties/Librarys den Pfad auf codemercs.jar korrigieren), da meist auch das LCD-Display anzupassen ist.
Die Seriennummer hättest Du auch weglassen können (wird nur benötigt, wenn mehrer eIO-Warrior 24 vorhanden sind, bzw. eine Verwechselungsgefahr besteht).
D-Lite wrote:Ich würd fast sagen, damit dürfte dem Siegeszug von Java als Programmiersprache Nummer 1 für den I/O-Warrior nichts mehr im Wege stehen :-).
Freut mich , dass Du das so siehst. (Ich kann ja so was aus "Eigenlobgründen" nicht schreiben ;-) Jedenfalls dürfte das wegen der Einfachheit kaum zu schlagen sein (Steckt auch eine Menge Arbeit darin, die eben nicht immer wieder neu zu leisten ist).
D-Lite
Posts: 22
Joined: Thu Mar 25, 2004 12:54 am
Location: Saarbrücken

Re: CLASSPATH

Post by D-Lite »

Hallo Thomas,
towaibw wrote: Dank für Dein Feedback. Ich würde grundsätzlich empfehlen, das Eclipse Projekt zu verwenden
*Hust* ähm, was ist Eclipse? Ich rate einfach mal, dass es eine Entwicklungsumgebung für Java ist? Ich bin leider kein "richtiger" Java-Programmierer sondern schnupper nur aus Interesse ab und zu mal rein (will ja nicht ewig bei C und Assembler kleben bleiben ;). Meistens schreib ich dann meine kleinen Progrämmchen mit irgendeinen Editor (vi oder wordpad, je nachdem ob UNIX oder Windows) und übersetze sie dann mit "javac". Für grössere Projekte ist diese primitive Vorgehensweise natürlich nix :-). Ich hab auch unter Windows noch die Entwicklungsumgebung von SUN (NetBeans-IDE 4.1) installiert, aber ich nehm mal an, dass die Ecplise-Projekte dazu nicht kompatible sind?

Werner
towaibw
Posts: 198
Joined: Sat Dec 27, 2003 10:55 pm
Location: Berlin / Germany
Contact:

Eclipse

Post by towaibw »

D-Lite wrote:*Hust* ähm, was ist Eclipse? Ich rate einfach mal, dass es eine Entwicklungsumgebung für Java ist?
Richtig geraten. Aber nicht nur für Java sondern auch c/c++ je nach verwendeten zusätzlichen PlugIns. NetBeans habe ich mal vor Jahren benutzt, finde es aber nicht so gut. Eclipse ist einfacher und besser (meine Meinung).http://www.eclipse.org
D-Lite wrote:Meistens schreib ich dann meine kleinen Progrämmchen mit irgendeinen Editor (vi oder wordpad, je nachdem ob UNIX oder Windows) und übersetze sie dann mit "javac".
Ich finde das gar nicht mal so schrecklich (unter Windows brauchst Du auf den vi übrigens nicht zu verzichten: http://www.vim.org). Du hast nur immer Trouble mit dem Classpath. Ein weitere Vorteil einer IDE ist die Code Completation: Du schreibs einen Klassenname hin und nach Eingabe des Punktes erscheinen alle Felder und Methoden der Klasse und das mit dem Hilfetext aus Javadoc!
D-Lite wrote:Ich hab auch unter Windows noch die Entwicklungsumgebung von SUN (NetBeans-IDE 4.1) installiert, aber ich nehm mal an, dass die Ecplise-Projekte dazu nicht kompatible sind?
Leider nicht.
Post Reply