JWrapper 似乎在 Windows 和 Linux 上非常适合我们(我们在所有平台上都使用 jre1.8.0_25 进行部署),但在 mac 上,应用程序解包正常,据我所知,但它实际上从未在 mac 上运行——安装程序咕哝着(在其日志文件中)关于 force spawn 为 0,因此它将使用 JNI 启动,尽管我的 jwrapper.xml 为 true。当我通过 JNLP 运行应用程序时,无论是使用我们的 jnlp 文件,还是使用安装在浏览器中的 Java 的 shell 脚本来 javaws jnlp 文件,应用程序都可以完美运行。我已将 url 粘贴到创建的应用程序、jnlp URL、jwrapper.xml 以及在下面运行时生成的日志文件:
-------------------- 下载 jwrapperified 版本的 URL ---------------
http://www.equitieslab.com/public/download/alpha
--------------------- jnlp 的 URL --------------------
https://www.equitieslab.com/wiki/EquitiesLabTesting.jnlp
---------------------- jwrapper xml -------------- --
<JWrapper>
<BundleName>EquitiesLabAlpha</BundleName>
<UpdateURL>http://equitieslab.com/public/download/alpha</UpdateURL>
<App>
<Name>Equities Lab Alpha</Name>
<LogoPNG>logos/EquitiesLabSquareLogo32.png</LogoPNG>
<MainClass>eye.page.museum.vis.VisualsForAccountPage</MainClass>
https://www.equitieslab.com/play/alpha/
</App>
<MustFork>true</MustFork>
<SupportedLanguages>en</SupportedLanguages>
<InstallType>CurrentUser</InstallType>
<NoStripJREs>true</NoStripJREs>
<SplashPNG>logos/EquitiesLabSquareLogo256.png</SplashPNG>
<BundleLogoPNG>logos/EquitiesLabSquareLogo64.png</BundleLogoPNG>
<JvmOptions>
<JvmOption>-Dawt.useSystemAAFontSettings=on</JvmOption>
<JvmOption>-Dswing.aatext=true</JvmOption>
<JvmOption>-Xmx512m</JvmOption>
<JvmOption>-Djavafx.macosx.embedded=true</JvmOption>
</JvmOptions>
<Windows32JRE>JRE-1.8/win32/jre1.8.0_25</Windows32JRE>
<Windows64JRE>JRE-1.8/win64/jre1.8.0_25</Windows64JRE>
<Linux32JRE>JRE-1.8/linux/jre1.8.0_25</Linux32JRE>
<Linux64JRE>JRE-1.8/linuxx64/jre1.8.0_25</Linux64JRE>
<Mac64JRE>JRE-1.8/macos64/jre1.8.0_25.jre</Mac64JRE>
<File classpath='yes'>equitieslab.jar</File>
<SignForWindowsAndApplet>
<KeyStore>certs/EquitiesLabJava.p12</KeyStore>
<KeyStoreType>PKCS12</KeyStoreType>
<Alias>equities lab, llc's comodo ca limited id</Alias>
<Password>TheEquitiesLabKeyStorePassword</Password>
<JarSignerPath>../../tools/jdk1.8.0_25/bin/jarsigner</JarSignerPath>
<JarSignerPath>../../tools/jdk1.8.0_25/bin/jarsigner</JarSignerPath>
</SignForWindowsAndApplet>
<SignForMac>
<AppleRootCertificate>certs/AppleIncRootCertificate.cer</AppleRootCertificate>
<DeveloperIdCertificate>certs/DeveloperIDCA.cer</DeveloperIdCertificate>
<DeveloperIdP12>certs/EquitiesLabApple.p12</DeveloperIdP12>
<DeveloperIdAlias>equities lab, llc</DeveloperIdAlias>
<DeveloperIdPassword>TheEquitiesLabKeyStorePassword</DeveloperIdPassword>
</SignForMac>
</JWrapper>
------------------------ mac 上启动的日志文件 --------- ----
+0 [JREOverride] Processing JRE Override file (JreNameOverride)
+1 [JREOverride] JRE name overriden to Mac64JRE
+0 [Extractor] GenericUpdater version is 00031607960
+0 [Extractor] ONLINE wrapper: No App embedded, GU will download and run
+0 [Extractor] Checking for a latest valid GU
+1 [PickFolder] Folder JWrapper-JWrapper-00031607960-complete matches JWrapper with version 31607960
+0 [PickFolder] Set latest to 31607960 JWrapper-JWrapper-00031607960-complete
+0 [PickFolder] Folder JWrapper-Mac64JRE-00032385489-complete matches Mac64JRE with version 32385489
+1 [PickFolder] Set latest to 32385489 JWrapper-Mac64JRE-00032385489-complete
+0 [PickFolder] Folder JWrapper-Mac64JRE-00032385489-complete.plugin matches Mac64JRE with version 32385489
+0 [Extractor] Latest GU version exists: JWrapper-JWrapper-00031607960-complete
+0 [Extractor] Existing JRE exists: JWrapper-Mac64JRE-00032385489-complete
+1 [Extractor] Latest GUversion is newer or same as our version so will just run
+0 [Extractor] Running without extraction now
+0 ++++++++++++++++++++++++++++++++++++++++++++++++
+0 +++ Start: Launching
+1 ++++++++++++++++++++++++++++++++++++++++++++++++
+0 [Extractor] Launching 'JWrapper-JWrapper-00031607960-complete' from master
folder '/Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha' of class 0 using JRE 'Mac64JRE'
+0 [PickFolder] Folder JWrapper-Mac64JRE-00032385489-complete matches Mac64JRE with version 32385489
+1 [PickFolder] Set latest to 32385489 JWrapper-Mac64JRE-00032385489-complete
+0 [PickFolder] Folder JWrapper-Mac64JRE-00032385489-complete.plugin matches Mac64JRE with version 32385489
+0 [Extractor] Using private JRE JWrapper-Mac64JRE-00032385489-complete
+0 File exists: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete/bin/EquitiesLabAlpha
+1 [Extractor] JRE LSO file is /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWApps/JRE-LastSuccessfulOptions-JWrapper-Mac64JRE-00032385489-complete
+0 [Extractor] Building classpath
+0 [Extractor] Creating launch properties
+1 [Extractor] Checking LSO file
+0 [Extractor] Reading /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWApps/JRE-LastSuccessfulOptions-JWrapper-Mac64JRE-00032385489-complete
+0 File exists: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWApps/JRE-LastSuccessfulOptions-JWrapper-Mac64JRE-00032385489-complete
+1 [Extractor] JRE LSO file exists
+18 [Extractor] Found 4 JVM Options
+1 [Extractor] Launch Prop: jvm_options_0 = -Dawt.useSystemAAFontSettings=on
+1 [Extractor] Launch Prop: jvm_options_1 = -Dswing.aatext=true
+0 [Extractor] Launch Prop: jvm_options_2 = -Xmx512m
+1 [Extractor] Launch Prop: jvm_options_3 = -Djavafx.macosx.embedded=true
+0 [Extractor] Writing launch properties file
+0 [Extractor] Writing launch properties to /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/JWLaunchProperties-1417548657547-19
+1 [Extractor] Launch properties length is 1040
+0 [Extractor] Writing to file
+1 [Extractor] Finished writing launch properties file
+0 [Extractor] Reading 0 extra args
+0 [Extractor] Read JRE compatibility class jwrapper.updater.GenericUpdaterJreVerifierLaunch
+1 [Extractor] Appending 1 command line args
+0 [Extractor] Executable: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete/bin/EquitiesLabAlpha
+0 [Extractor] Argument 0: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete/bin/EquitiesLabAlpha
+1 [Extractor] Argument 1: -cp
+0 [Extractor] Argument 2: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/jwrapperlib/jwstandalonelaunch.jar
+0 [Extractor] Argument 3: -Dawt.useSystemAAFontSettings=on
+0 [Extractor] Argument 4: -Dswing.aatext=true
+0 [Extractor] Argument 5: -Xmx512m
+0 [Extractor] Argument 6: -Djavafx.macosx.embedded=true
+0 [Extractor] Argument 7: jwrapper.updater.GenericUpdaterLaunch
+1 [Extractor] Argument 8: /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/JWLaunchProperties-1417548657547-19
+0 [Extractor] Argument 9: -psn_0_1298749
+0 [Extractor] This is a newer extractor... launchclass is 0
+1 [Extractor] JRE folder is /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete
+0 [BundleLoader] Creating jre path URL for path /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete.plugin
+0 [BundleLoader] Created NSURL
+18 [BundleLoader] Created Bundle
+2 [BundleLoader] Bundle Loaded OK
+0 [Extractor] Adjusted JRE folder is /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete.plugin/Contents/Home
+0 [Extractor] Force spawn is 0 so attempting to launch via JNI
+1 ++++++++++++++++++++++++++++++++++++++++++++++++
+0 +++ Start: JNI Launch
+0 ++++++++++++++++++++++++++++++++++++++++++++++++
+0 [JNILaunch] [pid=7567] [mainThread=0]
+4 [JNILaunch] Identified JRE path as /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-Mac64JRE-00032385489-complete.plugin/Contents/Home/lib/server/libjvm.dylib
+0 [JNILaunch] ------- JNI Launch call -------
+0 [JNILaunch] JVM Argument 0 = -Dawt.useSystemAAFontSettings=on
+0 [JNILaunch] JVM Argument 1 = -Dswing.aatext=true
+0 [JNILaunch] JVM Argument 2 = -Xmx512m
+0 [JNILaunch] JVM Argument 3 = -Djavafx.macosx.embedded=true
+1 [JNILaunch] CP Argument 0 = /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/jwrapperlib/jwstandalonelaunch.jar
+0 [JNILaunch] App Argument 0 = /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/JWLaunchProperties-1417548657547-19
+0 [JNILaunch] App Argument 1 = -psn_0_1298749
+1 [JNILaunch] JNI Option 0=-Djava.class.path=/Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/jwrapperlib/jwstandalonelaunch.jar
+0 [JNILaunch] JNI Option 1=-Dawt.useSystemAAFontSettings=on
+0 [JNILaunch] JNI Option 2=-Dswing.aatext=true
+0 [JNILaunch] JNI Option 3=-Xmx512m
+1 [JNILaunch] JNI Option 4=-Djavafx.macosx.embedded=true
+216 [JNILauncher] Searching for clazz jwrapper/updater/GenericUpdaterLaunch
+112 [JNILauncher] Searching for main method jwrapper/updater/GenericUpdaterLaunch
+1 [JNILauncher] Set argument 0 to /Users/nicholasstephan/Library/Application Support/JWrapper-EquitiesLabAlpha/JWrapper-JWrapper-00031607960-complete/JWLaunchProperties-1417548657547-19
+0 [JNILauncher] Set argument 1 to -psn_0_1298749
+0 [JNILauncher] About to execute static void method.
+1 [Utils] Closing logging file.