Для меня это больше похоже на проблему конечного пользователя. Также учтите возможную необходимость запуска нескольких экземпляров любого данного приложения, и предотвращение этого пользователями станет серьезным раздражением.
Если проблема связана с временными конфликтами файлов, просто убедитесь, что все ваши временные файлы имеют уникальные имена. Насколько я понимаю, это самая распространенная причина, по которой люди чувствуют необходимость предотвратить запуск нескольких экземпляров своих приложений.
P.S .: Методы java.io.File.createTempFile () идеально подходят для предотвращения временных конфликтов файлов, поскольку они автоматически генерируют уникальные имена файлов.