Hi Leute,
ich hab ein Problem mit einem Eclipse-Plugin und dem Aufruf von native code (jnotify).
Und zwar binde ich in das Plugin (in der Manifest Datei) das jar-File und die dll-Datei (von jnotify) ein:
Bundle-NativeCode: /lib/jnotify.dll; osname = WindowsXP ;
processor = x86
[...]
Bundle-ClassPath: lib/jnotify-0.9.jar,
Die Dll-Datei findet er auch offenbar - Zumindest kommt keine Fehlermeldung.
Kurz was zu Jnotify: Es sorgt dafür, dass ein Listener auf bestimmte Verzeichnisse gesetzt wird. Wenn sich in dem Verzeichnis was ändert (also Dateien geschrieben, verändert ect... werden) ruft der Code der dll-Datei den Code aus dem jar-File auf, das dann wiederum Code von mir aufruft. So zumindest in der Theorie.
Praktisch krieg ich eine Fehlermeldung und zwar "Win32 : class net/contentobjects/jnotify/win32/JNotify_win32 not found ". Ich vermute, dass das in dem Moment passiert indem der c-Code in der dll versucht den Java-Code aus dem jar aufzurufen (die c und die java Klassen und Packages haben allerdings die selbern Namen - es könnte als auch sein, dass er die c-klassen nicht findet).
An sich funktioniert Jnotify bei mir - ich hatte es vorher ohne Plugin ausprobiert.
Ich hab den verdacht, dass es irgendwas mit den Classloadern zu tun hat, dass also das dll-File offenbar nicht alle Java-Klassen kennt (ich bin mir offen gesagt auch noch nicht ganz sicher ob ich wirklich verstanden habe wer da wie wen aufruft ).
Muss ich vielleicht in der Manifest noch irgendwas angeben? Ich hab so Dinge wie
Eclipse-BuddyPolicy: registered
Eclipse-RegisterBuddy: lib/jnotify-0.9.jar, lib/jnotify.dll
ausprobiert, scheint aber keine Auswirkungen zu haben ...
Hat jemand ne Idee?
ich hab ein Problem mit einem Eclipse-Plugin und dem Aufruf von native code (jnotify).
Und zwar binde ich in das Plugin (in der Manifest Datei) das jar-File und die dll-Datei (von jnotify) ein:
Bundle-NativeCode: /lib/jnotify.dll; osname = WindowsXP ;
processor = x86
[...]
Bundle-ClassPath: lib/jnotify-0.9.jar,
Die Dll-Datei findet er auch offenbar - Zumindest kommt keine Fehlermeldung.
Kurz was zu Jnotify: Es sorgt dafür, dass ein Listener auf bestimmte Verzeichnisse gesetzt wird. Wenn sich in dem Verzeichnis was ändert (also Dateien geschrieben, verändert ect... werden) ruft der Code der dll-Datei den Code aus dem jar-File auf, das dann wiederum Code von mir aufruft. So zumindest in der Theorie.
Praktisch krieg ich eine Fehlermeldung und zwar "Win32 : class net/contentobjects/jnotify/win32/JNotify_win32 not found ". Ich vermute, dass das in dem Moment passiert indem der c-Code in der dll versucht den Java-Code aus dem jar aufzurufen (die c und die java Klassen und Packages haben allerdings die selbern Namen - es könnte als auch sein, dass er die c-klassen nicht findet).
An sich funktioniert Jnotify bei mir - ich hatte es vorher ohne Plugin ausprobiert.
Ich hab den verdacht, dass es irgendwas mit den Classloadern zu tun hat, dass also das dll-File offenbar nicht alle Java-Klassen kennt (ich bin mir offen gesagt auch noch nicht ganz sicher ob ich wirklich verstanden habe wer da wie wen aufruft ).
Muss ich vielleicht in der Manifest noch irgendwas angeben? Ich hab so Dinge wie
Eclipse-BuddyPolicy: registered
Eclipse-RegisterBuddy: lib/jnotify-0.9.jar, lib/jnotify.dll
ausprobiert, scheint aber keine Auswirkungen zu haben ...
Hat jemand ne Idee?