Как запустить Java-приложение со встроенными аргументами командной строки? - PullRequest
2 голосов
/ 03 августа 2010

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

Для версии приложения для Mac я бы хотел, чтобы строки меню отображались вверху экрана в стиле Mac, а не в окне (стиль Windows). Я знаю, что это можно сделать с помощью командной строки:

java -jar App.jar -Dcom.apple.macos.useScreenMenuBar=true

Но это не сработает, если пользователь не знает, как это сделать. Есть ли способ сделать этот аргумент командной строки "встроенным" в файл jar?

Ответы [ 4 ]

1 голос
/ 03 августа 2010

Вы можете сделать это, установив системное свойство в своем коде в методе main или какой-либо другой метод, который вызывается в самом начале приложения:

System.setProperty("com.apple.macos.useScreenMenuBar", "true")
0 голосов
/ 29 ноября 2012

Я бы посоветовал вам упаковать .jar в стандартный файл Mac .app. Затем в Info.plist вы можете указать все виды элементов времени выполнения, включая «Аргументы» и «Свойства». Взгляните на http://developer.apple.com/library/mac/#documentation/Java/Reference/Java_InfoplistRef/Articles/JavaDictionaryInfo.plistKeys.html

0 голосов
/ 03 августа 2010

Внутри моего метода main я бы использовал встроенный параметр os.name и по умолчанию использовал аргумент командной строки, если он не был установлен иначе.

0 голосов
/ 03 августа 2010

Нужно ли это делать с помощью командной строки?Вы можете проверить это в коде с помощью System.getProperty ("os.name").

...