AppBundler launcher, directory structure & info.plist
Rick Hillegas
rick.hillegas at oracle.com
Mon Nov 12 06:28:18 PST 2012
On 11/10/12 1:47 PM, niagarasoft20-macosxportdev at yahoo.com wrote:
> I currently do not use ant to build my app, instead using simple shell scripts.
>
> I have downloaded the launcher stub executable (JavaAppLauncher) from the AppBundler project files. Can someone describe or post samples of the .app directory structure expected by the launcher within the app and the relevent info.plist entries?
>
> I'm having trouble getting the launcher to find my bundled jre with Java 7u9.
>
> Thanks,
> Mike
>
Hi Mike,
I just started using AppBundler to build a java app on Java 7.
Previously on Java 6, I built the directory structure and Info.plist by
hand.
Here is the structure of my app as built by AppBundler.
Hopefully you will get better advice from people who are experts in
using AppBundler, but this may help...
-Rick
-----------------------------------------------
PhotoDB.app
PhotoDB.app/Contents
PhotoDB.app/Contents/Info.plist
PhotoDB.app/Contents/Java
PhotoDB.app/Contents/Java/derby.jar
PhotoDB.app/Contents/Java/fogfallpc.jar
(Here you will see html and license directories which AppBundler did NOT
build. My ant script adds these AFTER AppBundler finishes.)
PhotoDB.app/Contents/Java/html
PhotoDB.app/Contents/Java/html/advanced.html
PhotoDB.app/Contents/Java/html/help.html
PhotoDB.app/Contents/Java/license
PhotoDB.app/Contents/Java/license/fogfall.license
PhotoDB.app/Contents/Java/license/NOTICE
(Here we resume listing what AppBundler DID build)
PhotoDB.app/Contents/Java/PhotoDB.jar
PhotoDB.app/Contents/MacOS
PhotoDB.app/Contents/MacOS/JavaAppLauncher
PhotoDB.app/Contents/PkgInfo
PhotoDB.app/Contents/PlugIns
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/COPYRIGHT
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib //
lots of stuff in this directory
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/images
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/images/cursors
// plenty of stuff in this directory
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/lwawt
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/lwawt/liblwawt.dylib
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/management
// plenty of stuff in this directory
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/security
// plenty of stuff in this directory
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/security/blacklist
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/security/cacerts
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/server
// plenty of stuff in this directory
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/servicetag
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/servicetag/jdk_header.png
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/xawt
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/xawt/libmawt.dylib
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/lib/zi
// lots of locale stuff under here
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/LICENSE
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/README
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/THIRDPARTYLICENSEREADME-JAVAFX.txt
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/THIRDPARTYLICENSEREADME.txt
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Home/jre/Welcome.html
PhotoDB.app/Contents/PlugIns/jdk1.7.0_09.jdk/Contents/Info.plist
PhotoDB.app/Contents/Resources
PhotoDB.app/Contents/Resources/en.lproj
PhotoDB.app/Contents/Resources/en.lproj/Localizable.strings
PhotoDB.app/Contents/Resources/macIcon.icns
Here is the Info.plist which AppBundler generated:
<?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>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>libjli.dylib</string>
<key>CFBundleGetInfoString</key>
<string>Java SE 1.7.0_09</string>
<key>CFBundleIdentifier</key>
<string>com.oracle.java.7u09.jdk</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>7.0</string>
<key>CFBundleName</key>
<string>Java SE 7</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.7.0_09</string>
<key>JavaVM</key>
<dict>
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
<key>JVMMinimumFrameworkVersion</key>
<string>13.2.9</string>
<key>JVMMinimumSystemVersion</key>
<string>10.6.0</string>
<key>JVMPlatformVersion</key>
<string>1.7</string>
<key>JVMVendor</key>
<string>Oracle Corporation</string>
<key>JVMVersion</key>
<string>1.7.0_09</string>
</dict>
</dict>
</plist>
More information about the macosx-port-dev
mailing list