Mac OS,Java Splash
我正在尝试将我的Java应用程序移植到Mac OS。
当应用程序启动时,应该出现启动画面。
当我从终端运行应用程序时,它是这样的:
java -classpath /the/right/classpath/ -splash:images/splash.png myApp/Main
当我这样做时,会出现闪屏。
但是当我将应用程序与Jar Bundler捆绑在一起时,不会出现闪屏。
在Jar Bundler上,在属性选项卡下,在VM Option中我写道:
splash:images/splash.png
我也尝试过:
-splash:images/splash.png
(带连字符)。
我还标记了“ 将工作目录设置为内部应用程序包”选项。
我将images/splash.png
复制到:
但是闪屏拒绝出现!
这很奇怪,因为myApp.app成功运行 – 它只是没有显示启动画面。
我在控制台找到了这两条消息:
2月11日02:53:32 SnowL /Users/myusername/Desktop/myApp.app/Contents/MacOS/JavaApplicationStub [24262]:忽略无法识别的Java VM选项:-splash:images / splash.png
这在splash属性之前没有连字符。
2月11日02:55:50 SnowL /Users/myusername/Desktop/myApp.app/Contents/MacOS/JavaApplicationStub [26314]:忽略无法识别的Java VM选项:splash:images / splash.png
当我从终端运行应用程序时,如果它可以显示启动画面,但双击应用程序不会显示启动画面?
它应该像终端VM一样运行在同一个VM上,不是吗?
我还将JVM版本(在Info.plist文件中)更改为:
1.5 *
1.5+
1.6 *
1.6+
它们都不会使闪屏出现。
感谢帮助!
像这样,在你的Info.plist中:
... Java MainClass ... SplashFile $APP_PACKAGE/tmp_splash.png ...
在我的申请中:
Info.plist的:
... ClassPath $JAVAROOT/@PROJECTNAMEASIDENTIFIER@.jar:@CLASSPATH@ JVMVersion 1.6+ MainClass @PROJECTMAINCLASS@ SplashFile $JAVAROOT/splash.png ...
将splash.png复制到myapp.app/Contents/Resources/Java/splash.png
et voila。
您可以让应用程序在应用程序启动时显示装饰关闭的jFrame和图片
我有同样的问题,并在这个线程上找到了一个解决方案:
http://lists.apple.com/archives/java-dev/2008/Jun/msg00012.html
它涉及在使用Jar Bundler之后向捆绑应用程序的Info.plist文件添加条目。 此外,需要将映像复制到myApp.app/Contents/Resources/Java(至少使用“在应用程序包中设置工作目录”选项)。 可能有更好的方法,但这似乎有效。