Mac OS,Java Splash

Arn*_*non 3 java macos splash-screen

我正在尝试将我的Java应用程序移植到Mac OS.
当应用程序启动时,应该出现启动画面.

当我从终端运行应用程序时,它会像这样:
java -classpath /the/right/classpath/ -splash:images/splash.png myApp/Main
当我这样做时,会出现启动画面.

但是当我将应用程序与Jar Bundler捆绑在一起时 ,不会出现闪屏.

在Jar Bundler上,在属性选项卡下,在我写的VM选项中:
splash:images/splash.png
我也试过:(
-splash:images/splash.png用连字符).
我还标记了" 将工作目录设置为内部应用程序包"选项.

我复制images/splash.png到:

  • myApp.app/Contents
  • myApp.app/Contents/Resources
  • myApp.app/Contents/Resources/Java
  • myApp.app/Contents/MacOS
  • 但是闪屏拒绝出现!

    这很奇怪,因为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 +
    他们没有让开机画面出现.

    感谢帮助!

    aar*_*ron 6

    像这样,在您的Info.plist中:

    ...
    <key>Java</key>
        <dict>
    
        <key>MainClass</key>
        <string>...</string>
    
        <key>SplashFile</key>
        <string>$APP_PACKAGE/tmp_splash.png</string>
    ...
    
    Run Code Online (Sandbox Code Playgroud)