и все равно будет работать нормально но удаляю быстрее

ужен файл JAR, чтобы удалить себя.

Проблема в том, что Windows блокирует файл JAR во время его работы и не может удалить себя напрямую.

Я искал решения, в которых пакетный скрипт может убить процесс JAR, а затем удалить файл, но

System.exit(0) не желательно, потому что он не запускается черезBatch файл.taskkill /F /IM "java.exe" не желательно, потому что это убиваетВСЕ Java процессы.jps не может быть использованпотому что это доступно только вJDK и пользователи могут запуститьJRE так что не получится.

Я застрял в поиске решения, которое позволяет мне найтиPID текущегоJAR с помощьюJava код, затем выписываяBatch команда и вставкаPID который убивает процесс, например как следующее:

printWriter.println("taskkill /PID " + currentJARPID);

Если вам интересно, для чего это нужно, вы можете проверитьэто ответ.

Ответы на вопрос(1)

Ваш ответ на вопрос