Почему файл jar не имеет разрешений на чтение с диска при запуске двойным щелчком мыши, но не при запуске из терминала?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Почему файл jar не имеет разрешений на чтение с диска при запуске двойным щелчком мыши, но не при запуске из терминала?

Сообщение Гость »


На MacBook Pro (2015 г.) с только что установленным Big Sur и AdoptOpenJDK 11 я разработал программу Java для образовательных целей, которая использует JFileChooser. Я не использовал какой-либо код, специфичный для IDE. Поскольку остальная часть программы не имеет значения, вот минимальный пример, который вызывает у меня ту же проблему (Примечание: здесь только в качестве примера: нажатие кнопки откроет окно выбора файлов, выбор файла и нажатие кнопки ОК изменит текст кнопки на «ОК»)):

import javax.swing.*; импортировать java.awt.event.*; общедоступный класс Test расширяет JFrame, реализует ActionListener { частный JFileChooser jf; частный JButton jb; публичный тест() { setSize(480,320); jf = новый JFileChooser(); jf.setDialogType(JFileChooser.OPEN_DIALOG); jb = new JButton("НАЖМИТЕ МЕНЯ"); jb.addActionListener(это); добавить (ДжБ); SetVisible (истина); } общественный недействительный actionPerformed (ActionEvent e) { если (e.getSource().equals(jb)) { jf.setVisible(истина); окончательный результат int = jf.showOpenDialog(null); если (результат == JFileChooser.APPROVE_OPTION) { jb.setText("ОК"); } } } public static void main(String[] args) { новый тест(); } } Если я запускаю программу через терминал (java Test или скомпилирую ее как jar с помощью java -jar Test.jar) все работает нормально. Я могу открыть инструмент выбора файлов, и он отобразит мои файлы и папки на моем диске.

Если я запускаю скомпилированный jar двойным щелчком мыши, программа также запускается, но если я открою окно выбора файлов, я не увижу ни одного файла на своем диске и следовательно, я не могу загружать и сохранять данные на диск.

Поскольку эти проблемы возникают только на моем Mac (а не на Windows 10 или Lubuntu Linux), это может быть очень специфической проблемой из-за неправильных настроек Java на моем Mac. Однако, поскольку я установил новую копию Big Sur и AdoptOpenJDK 11 для Mac, ничего не меняя, мне интересно, может ли эта проблема возникнуть у других людей, которые хотят запустить мою программу (преподавателей и студентов).

Так в чем же может быть проблема и как ее решить (для меня и, возможно, для других)?

С помощью монитора активности я уже понял, что jar с двойным щелчком мыши загружается с JavaLauncher (но я не могу найти его на диске и не могу изменить для этого какие-либо системные настройки). Я также искал здесь подобные проблемы. Но в основном это было связано с сохранением файлов по неверным путям.

Было бы здорово найти решение. Спасибо за ответ!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Файл Python не запускается двойным щелчком мыши
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Как запустить файл .py двойным щелчком мыши в Windows
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Не могу запустить .jar файл с двойным щелчком (Javafx Project)
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как нарисовать вертикальную линию двойным щелчком левой кнопкой мыши при использовании копирования в matplotlib?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Мой проект .jar не открывается двойным щелчком или в .exe
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»