Jar中使用文件的Java启动参数

Jar中使用文件的Java启动参数,java,splash-screen,jvm-arguments,Java,Splash Screen,Jvm Arguments,所以我在一个包中有一个Splash.png文件。我希望在运行jar文件时传递-splash:splash.png参数,但我希望路径指向jar中的内部包,而不是jar实际运行的外部包 例如,我有一个名为res的包,但当我 -splash:res/splash.png它不会显示飞溅 当我执行-splash:splash.png并将png文件放在jar文件的外部时,它会显示启动屏幕,没有问题。在jar内部时,它似乎必须通过可运行jar中的清单来指定 Manifest-Version: 1.0 Main

所以我在一个包中有一个Splash.png文件。我希望在运行jar文件时传递-splash:splash.png参数,但我希望路径指向jar中的内部包,而不是jar实际运行的外部包

例如,我有一个名为res的包,但当我
-splash:res/splash.png
它不会显示飞溅


当我执行
-splash:splash.png
并将png文件放在jar文件的外部时,它会显示启动屏幕,没有问题。

在jar内部时,它似乎必须通过可运行jar中的清单来指定

Manifest-Version: 1.0
Main-Class: <class name>
SplashScreen-Image: <image name>
清单版本:1.0
主要类别:
SplashScreen图像:
请参阅META-INF/MANIFEST.MF的“如何使用JAR文件显示初始屏幕”部分

JAR:包中的图像

  • 打包theshow.jimmylandstudios.gui
  • 显示/jimmylandstudios/gui的img路径

    Manifest-Version: 1.0
    Class-Path: .
    Main-Class: theshow.jimmylandstudios.gui.GUI
    SplashScreen-Image: theshow/jimmylandstudios/gui/images/splash.png
    

这实际上是一个答案吗?请提供更多关于如何修复以及为什么修复的详细信息。这是一个工作示例。下面是我如何编辑的。第一:打开可运行Jar(带归档管理器[Engrampa])。第二:Open/META-INF/MANIFEST.MF(带文本编辑器[pluma])。第三:添加行“SplashScreen Image:relative/path/to.png”保存tmp文件,然后存档管理员将要求更新JAR;[是的]。这是在Debian桌面操作系统上实现这一点的一种方法。