我正在更新我们的应用程序以使用 Java 1.7,所以在 OSX 上我已经更新到 InfiniteKind AppBundlerTask。(appbundle-1.0ea.jar)
当我运行任务时,它生成的 info.plist 根本没有类路径。(并且应用程序没有运行。)此外,我一直无法找到更新的 appbundlertask 的 Ant 任务文档。所以它在运行期间输出的唯一消息是:
[bundleapp] Creating app bundle: Metrix
Ant 任务如下所示:
<taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask" classpath="${build-helpers-lib.dir}/appbundler-1.0ea.jar" />
<bundleapp outputdirectory="${build-finalJars.dir}"
jvmrequired="1.7"
name="Metrix"
displayName="Metrix"
identifier="Metrix"
shortversion="2017.1"
mainclassname="a.x"
copyright="(c)2017 EFI, Inc." >
<classpath dir="${build-finalJars.dir}" >
<include name="tomcat-websocket.jar" />
<include name="batik-parser-1.8.jar" />
<include name="flexlmmgmt.jar" />
... and a bunch more .jar files ...
</classpath>
<option value="-Xms512m"/>
<option value="-Xmx4096m"/>
<option value="-Dapple.laf.useScreenMenuBar=true"/>
</bundleapp>
生成的 info.plist 如下所示:
<?xml version="1.0" ?>
<!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>JavaAppLauncher</string>
<key>CFBundleIconFile</key>
<string>GenericApp.icns</string>
<key>CFBundleIdentifier</key>
<string>Metrix</string>
<key>CFBundleDisplayName</key>
<string>Metrix</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Metrix</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2017.1</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NSHumanReadableCopyright</key>
<string>(c)2017 EFI, Inc.</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>JVMVersion</key>
<string>1.7</string>
<key>JVMMainClassName</key>
<string>a.x</string>
<key>CFBundleDocumentTypes</key>
<array>
</array>
<key>LSArchitecturePriority</key>
<array>
</array>
<key>LSEnvironment</key>
<dict>
<key>LC_CTYPE</key>
<string>UTF-8</string>
</dict>
<key>JVMOptions</key>
<array>
<string>-Xms512m</string>
<string>-Xmx4096m</string>
<string>-Dapple.laf.useScreenMenuBar=true</string>
</array>
<key>JVMDefaultOptions</key>
<dict>
</dict>
<key>JVMArguments</key>
<array>
</array>
</dict>
</plist>