javah
-
Hallo
Ich habe Probleme mit der generierung einer Header datei (JNI) aus einem Java Class File.Folgender massen sieht die Klasse aus
public class Test{ /** * deklaration of the native methode (c++) */ static native String setParameter(String applicationName, String applicationPath, String logFileName, String debug); }
Wenn ich jetzt versuche folgendes auszuführen "java -jni Test "
bekomme ich die fehlermeldung, dass die Klasse Test nicht gefunden werden kann. Woran kann das liegen?
Kennt jemand ein eclipse plugin mit welchem ich direkt das Header file aus der entwicklungsumgebung generieren kann?
-
nicht java, javah
und mal nachlesen, zum bleistift gut beschrieben in
"java ist eine insel", gibt es auch onlineErzeugen der Header-Datei
Die nativen Funktionen haben eine feste Signatur, damit sie die JVM bei einem
Funktionsaufruf auch finden können. Diese Methoden können von Hand erstellt
werden, was jedoch sehr aufwändig ist. Besser ist es, die Header-Datei mit Hilfe
des Programms javah für die zu implementierende Funktion zu erstellen. Das
Programm liegt dem Java-SDK bei und muss im Pfad eingetragen sein. Der Aufruf
sieht wie folgt aus:$ javah -jni -o strlen.h StrLen
Mit dem Schalter -o bestimmen wir den Namen der Ausgabedatei, die in diesem Fall
strlen.h heißen soll.An der entstandenen Header-Datei StrLen.h sollten keine Änderungen vorgenommen
werden. Werfen wir dennoch einen Blick hinein, damit wir wissen, welche Methode
wir implementieren müssen:...
-
oh war ein schreibfehler ich habe javah gemeint. aber scheint immer noch nicht zu funtionieren.
-
hi schrieb:
oh war ein schreibfehler ich habe javah gemeint. aber scheint immer noch nicht zu funtionieren.
hast Du Deine Klasse kompiliert??