Como pode um arquivo JAR se excluir?
Eu preciso de um arquivo JAR para se excluir.
O problema é que o Windows bloqueia o arquivo JAR enquanto está em execução e não pode se excluir diretamente.
Eu procurei soluções em que um script em lote poderia matar o processo JAR e excluir o arquivo, mas
System.exit(0)
não é desejado porque não pode ser executado através deBatch
Arquivo.taskkill /F /IM "java.exe"
não é desejado porque mataTUDO Java
processos.jps
não pode ser usadoporque está disponível apenas noJDK
e os usuários podem executar umJRE
então isso iria falhar.Estou preso em procurar uma solução que me permita encontrar oPID
do atualJAR
usandoJava
código e, em seguida, escrevendo umBatch
comando e inserindo oPID
o que mata o processo, p. como o seguinte:
printWriter.println("taskkill /PID " + currentJARPID);
Se você está se perguntando para que serve isso, verifiqueesta responda.