微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JPackage-我应该在哪里放置Windows应用程序映像的资源文件夹?

如何解决JPackage-我应该在哪里放置Windows应用程序映像的资源文件夹?

在我制作的application中,我将资源文件放置到一个名为YoutubeAudioAutodownloader-resources文件夹中,并确保将文件夹放置在应用程序的.jar文件旁边时该文件可以工作。

然后,当我使用jpackage用以下cmd代码制作exe安装程序时:(由于目录安排糟糕,对脏代码很抱歉,我只想强调的部分是--type和{{1 }}选项)

--resource-dir

我有一个问题:

我的set jh=D:\development\jdk-14\bin set appname=YoutubeAudioAutodownloader v1.2.2 pushd %jh% jpackage --type app-image --name "%appname%" --input "%~dp0packaging\jar" --dest "%~dp0packaging" --main-jar "YoutubeAudioAutodownloader v1.2.2.jar" --main-class "com.awidesky.YoutubeClipboardAutodownloader.Main" --resource-dir "%~dp0release.v1.2.1\YoutubeAudioAutodownloader-resources" --icon "%~dp0icon\icon.ico pause 文件夹应该放在哪里?在我的应用程序图像文件夹的YoutubeAudioAutodownloader-resources文件夹中?还是因为app选项而不必做? (我不确定我是否对该选项了解正确)

解决方法

jpackage中的@public_route参数用于更改应用程序EXE的资源,例如图标等,但听起来您实际上希望自己的类使用--resource-dir访问本地资源。

我不认为JDK14 jpackage提供了一种方法来指定本地资源目录以添加到正在运行的jpackage EXE的类路径中。但是它确实添加了jar,因此,如果将所有资源目录与一个简单的Java类myClass.getClassLoader().getResourceAsStream("somerespath.xyz")捆绑到jar中,则可以使用以下方式找到资源:

MyNewClass

这个新的jar需要与您的其他jar一起使用,以便使用MyNewClass.class.getClassLoader().getResourceAsStream("pathto/aresource.xyz"); 进行拾取,然后每个启动器EXE --input "%~dp0packaging\jar"的classpath字段应引用额外的资源jar。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。