Java вручную упаковывает .JAR в .APP

Я написал свою программу на Java в OS X, и я хочу объединить свой .JAR в работающее .APP, чтобы я мог распространять свою программу. Я использую OS X 10.9 и не могу найти Apple JarBundler.app на своем компьютере. Я посмотрел решение Oracle Jar Bundler, и для него требуется .plist. Итак, мой вопрос: как мне создать нужный plist и могу ли я вручную создать свое .app?

Решение:

После достаточной настройки я, наконец, смог собрать свое java-приложение и запустить его как .app.

   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrefPaneIconFile</key>
<string>NotesClonerIcon.icns</string>
<key>Java</key>
<dict>
    <key>JVMVersion</key>
    <string>1.6+</string>
    <key>MainClass</key>
    <string>Notes_Cloner</string>
    <key>ClassPath</key>
    <string>$JAVAROOT/NotesCloner.jar</string>
    <key>Properties</key>
    <dict>
        <key>java.library.path</key>
        <string>$JAVAROOT/</string>
    </dict>
</dict>
<key>Properties</key>
<dict>
    <key>apple.laf.useScreenMenuBar</key>
    <string>true</string>
</dict>
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>

    <key>CFBundleIconFile</key>
<string>NotesClonerIcon.icns</string>

<key>WorkingDirectory</key>
<string>$APP_PACKAGE/Contents/Resources/</string>

<key>CFBundleName</key>
<string>Notes Cloner Mac</string>

<key>CFBundleDisplayName</key>
<string>Notes Cloner Mac</string>

<key>NSPrefPaneIconLabel</key>
<string>Notes Cloner Preferences</string>

<key>CFBundleGetInfoString</key>
<string>Written By:Larry Wells </string>

<key>NSHumanReadableCopyright</key>
<string>Copyright © 2013, Larry Wells,All Rights Reserved.</string>

<key>CFBundleIdentifier</key>
<string>com.LarryWells.NotesClonerMac</string>

<key>CFBundleInfoDictionaryVersion</key>
<string>1.0</string>

<key>CFBundlePackageType</key>
<string>APPL</string>

<key>CFBundleShortVersionString</key>
<string>1.0.0</string>

<key>CFBundleSignature</key>
<string>????</string>

<key>CFBundleVersion</key>
<string>1.0.0</string>
</dict>
</plist>

person Lgwells1    schedule 10.12.2013    source источник
comment
Это может помочь: stackoverflow.com/questions/14917908/   -  person CodeChimp    schedule 10.12.2013
comment
Как вы собираетесь развернуть его для пользователей Windows и *nix?   -  person Andrew Thompson    schedule 10.12.2013
comment
@AndrewThompson Это приложение специально предназначено для пользователей OS X. Сначала я создал это приложение для Windows на C#, а недавно решил, что мне будет полезно использовать это приложение в OS X.   -  person Lgwells1    schedule 11.12.2013
comment
Это приложение специально предназначено для пользователей OS X. Я бы не стал использовать для этого Java. OS X имеет богатый набор API-интерфейсов, специально разработанных для OS X. И даже использует собственный PLAF и развертывается с помощью приложения. комплект, типичное использование Mac может определить разницу между ними и не любить сторону Java.   -  person Andrew Thompson    schedule 13.12.2013


Ответы (1)


Смотрите оригинальный пост для решения. Я просто продолжал пробовать разные ключи и строки plist, пока один из них, наконец, не сработал. Я считаю, что сейчас у меня проблемы с администрированием, потому что некоторые части моей программы не будут работать. Я создам новый вопрос для этой проблемы.

person Lgwells1    schedule 16.12.2013