2016-12-07 1 views
0

私はJava 1.7を使用するようにアプリケーションを更新しています。したがって、OSXではInfiniteKind AppBundlerTaskに更新しました。 (appbundler-1.0ea.jar)AppBundlerTaskはinfo.plistでクラスパスを作成していません

私がタスクを実行すると、それが生成するinfo.plistにはクラスパスが全くありません。 (そして、アプリケーションは実行されません)。また、私は、更新されたappbundlertaskのAntタスクのドキュメントを見つけることができませんでした。それは実行時に出力のみMSGがあるので:

[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> 

答えて

0

は多くを行いますもっと掘り下げてテストすると、私はそれを知りました:

  1. 新しいJarランチャーでは、あなたは(明らかに)Plistのクラスパスは必要ありません。
  2. 新しいランチャーは、user.dirプロパティをuser.homeと同じに設定します。これは私たちのアプリを起動時に失敗させます。
  3. 新しいjarbuildertaskに関するドキュメントはありません。
関連する問題