I need a JAR file to delete itself.
The issue is that Windows locks the JAR file while it is running, and can't delete itself directly.
I have looked into solutions where a batch script could kill the JAR process and then delete the file, but
- System.exit(0)is not desired because it is not runnable via- Batchfile.
- taskkill /F /IM "java.exe"is not desired because it kills ALL- Javaprocesses.
- jpscannot be used because it is only available in the- JDKand users might run a- JREso that would fail.
I'm stuck on looking for a solution which lets me find the PID of the current JAR using Java code, then writing out a Batch command and inserting the PID which kills the process e.g. like the following:
printWriter.println("taskkill /PID " + currentJARPID);
If you're wondering what this is for, you can check this answer.
 
    