2015-08-31 2 views
1

Я выяснил некоторые основы написания файла Info.plist для упаковки приложения Mac. Я столкнулся с некоторой досадной проблемой. У меня есть файл jar, который является основной точкой входа приложения. Файл plist имеет набор запуска, так как это CFBundleExecutable. Эта пусковая установка открывает файл jar.Info.plist. Как я могу указать несколько исполняемых файлов?

Имеется 2 файла jar. Яр 1 вызывается пусковой установкой и проверяет наличие обновлений и выполняет их. Затем, когда это делается, jar 1 выполняет jar 2. Как только jar 2 выполняется, информация, предоставленная файлом plist, кажется, исчезает. CFBundleIcon и CFBundleDisplayName возвращаются к умолчанию java.

Я могу догадаться, что это происходит из-за того, что сценарий запуска не работает, и все настройки plist установлены на эту пусковую установку. Как я могу исправить это безболезненно? Могу ли я установить еще один .app для jar 2 внутри этого .app? Есть ли решение Info.plist? Он не нарушает никаких функциональных возможностей, он просто выглядит непрофессиональным.

Содержимого пакета являются App -> Содержание -> MacOs -> [jar1, jar2, пусковым, sharedAccessFiles]

Я зову банку 2 из баночки 1, используя при помощи:

ProcessBuilder pb = new ProcessBuilder(pathToJava "-jar", pathToJar2, "-Xdock:icon=" + pathToIcon, "-Xdock:name=AppName"); 

Этих похоже, ничего не меняет. верхняя панель все еще говорит java, и значок остается неизменным.

ответ

0

При запуске JAR # 2, используйте следующие параметры:

-Xdock: значок = pathToIconFile Устанавливает значок отображается в Dock. По умолчанию OS X отображает общий значок Java, если вы не укажете . Это нужно использовать только для приложений, запущенных с в командной строке или из файла JAR. Дважды щелкните приложение связки обозначают их значок в файле Info.plist.

-Xdock: name = applicationName Устанавливает имя для отображения в Dock и в строке меню. По умолчанию OS X отображает полное имя основного класса, если вы не указали иначе. Вам нужно использовать только для приложений, запущенных из командной строки или из файла JAR. Пакеты приложений с двойным щелчком получают соответствующее имя из файла Info.plist .

https://developer.apple.com/library/mac/documentation/Java/Reference/Java_VMOptionsRef/Articles/JavaVirtualMachineOptions.html

+0

Как мои редактирования показывают, ява ProcessBuilder называет баночку с параметрами виртуальной машины вы задающие. – Vikk

Смежные вопросы