こんにちは私は次の問題があります:
アンインストールプロセス内で、JAR(jdbc-driver)をロードします。
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();
}
JVMの終了後、jarはまだ存在しています。
回避策として、一時ファイルを作成し、Jarをその一時ファイルにコピーしました。ただし、Tempfileは削除されません。
ClassLoadがGCの場合、ロードされたjarを削除できることを読みました。
誰かがアイデアを持っていますか、このファイルを削除する方法はありますか?