В macOS Catalina мы сталкиваемся со следующей проблемой: открытие приложений Java Web Start ведет себя по-разному, когда приложение запускается двойным щелчком по файлу JNLP и когда оно запускается двойным щелчком по ярлыку, установленному на рабочем столе.
В первом случае (двойной щелчок по загруженному файлу JNLP) приложение открывается без прав доступа к файловой системе - попытка получить список каталогов в каталоге рабочего стола пользователя в коде JAVA всегда возвращает ноль. Пользователю не было предложено запрашивать какие-либо разрешения для доступа к файловой системе. Это не ожидаемое поведение.
Во втором случае (начиная с ярлыка на рабочем столе) пользователь сначала получает запрос о том, что приложение пытается получить доступ к файловой системе, и запрашивает разрешение. Когда пользователь разрешает приложению доступ к файлам - приложение правильно читает каталог рабочего стола пользователя. Это ожидаемое поведение.
Есть ли обходной путь для этого? Как мы можем заставить веб-запускать файловую систему доступа к приложениям на Catalina, если она запускается двойным щелчком по файлу JNLP (именно так приложение должно быть запущено хотя бы в первый раз)?