Native Library is already loaded in another classloader

P_H_I_L

Erfahrenes Mitglied
Hallo ich habe eine WebApp mit 3 verschiedenen Applets. alle greifen aber auf die rxtxSerial.dll zu.
Immer wenn ich ein Applet starte, dann die Seite wechsle und auf einer anderen Seite das 2te Applet starte kommt diese Fehlermeldung:

java.lang.UnsatisfiedLinkError: Native Library C:\Programme\Internet Explorer\rxtxSerial.dll already loaded in another classloader thrown while loading gnu.io.RXTXCommDriver
Exception in thread "AWT-EventQueue-3" java.lang.UnsatisfiedLinkError: Native Library C:\Programme\Internet Explorer\rxtxSerial.dll already loaded in another classloader


wie kann ich den Fehler verhindern? Habe zwar schon Beiträge zu dem thema gefunden doch die Antworten nicht ganz verstanden. bin ein Java-Anfänger....

hier meine Funktion wenn ich die dll lade:

Code:
public class NativeLibraryHandler {
	public NativeLibraryHandler(String libraryName){
		//rxtxSerial.dll
		loadLibrary(libraryName);
	}
	
	private void loadLibrary(String libraryName) {
		try {
			Runtime.getRuntime().loadLibrary(libraryName);
		} catch (Throwable e) {
			System.out.println("Load Library failed");
			String path = System.getProperty("java.library.path");
			String[] paths = path.split(File.pathSeparator);
			String targetDir = null;
			for (int i = 0; i < paths.length; i++) {
				String t = paths[i];
				if (testWriteable(t)) {
					targetDir = t;
					break;
				}
			}
			if (targetDir != null) {
				download(libraryName, targetDir);
			}
		}
	}

kann ich die Funktion so modifizieren das der Fehler nicht mehr kommt und alles reibungslos läuft?
bitte um Hilfe
 
Zurück