Classpath Native Dateien(DLL, SO, JNILIB)

RalleYTN

Bekanntes Mitglied
Hallo Leute!
Ich habe vor für ein paar meiner Projekte die JInput Bibleothek zu nutzen. Diese nutzt native Dateien und ich möchte, dass die Bibleothek diese Lädt, ohne dass ich sie in das System oder System32 Verzeichnes legen muss. Am besten direkt im Java Code. Ich wollte wissen ob das überhaupt möglich ist und wenn ja: WIE? Natürlich wären Codeschnipsel und Verweise auf Artikel und die Documentation von Java nett.

Ich bedanke mich schon einmal im Vorraus 🙂
 
Als Parameter in CMD oder als VM Option in einer IDE müsste es mit
Code:
-Djava.library.path="PfadZumNativeOrdner"
gehen, oder über Java direkt mit:
Code:
System.setProperty(“java.library.path”, “PfadZumNativeOrdner”);
 
Java:
  public static final void addNativeDirectory(String path) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {

      System.setProperty("java.library.path", path.replace('/', '\\') + ";" + System.getProperty("java.library.path"));
      final Field sysPathsField = ClassLoader.class.getDeclaredField("sys_paths");
      sysPathsField.setAccessible(true);
      sysPathsField.set(null, null);
   }
Ich habe inzwischen eine Methode gefunden, wie ich die nativen Bibleotheken innerhalb des Codes laden kann(die Methode oben). Funktioniert ziemlich gut 😀. Trotzdem danke für deine Lösung.
 

Zurück
Oben