Kann eine geladene JAR vom Java-Prozess gelöscht werden?

Hallo ich habe folgendes Problem:

In einem Deinstallationsprozess lade ich eine JAR (JDBC-Treiber).

    URL pDriverJar = jarToDelete.toURI().toURL();
    URL[] lURLList = new URL[]{pDriverJar};
    URLClassLoader lLoader =  new URLClassLoader(lURLList, Thread.currentThread().getContextClassLoader());
    Thread.currentThread().setContextClassLoader(lLoader);
    Class<?> aClass = Class.forName("jdbc.Driver"); // was Oracle: oracle.jdbc.OracleDriver but should not be important

    if(jarToDelete.delete()){
        System.out.println("deleted");
    }else {
        jarToDelete.deleteOnExit();
    }

Nach Beendigung der JVM ist die JAR-Datei noch vorhanden.

ls Workarround habe ich ein Tempfile erstellt und das Jar in dieses Tempfile kopiert. Aber jetzt wird das Tempfile nicht gelöscht.

Ich habe gelesen, dass die geladenen Gläser entfernt werden können, wenn ClassLoad GC ist.

Hat jemand eine Idee, wie man diese Datei löscht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage