如何解决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 举报,一经查实,本站将立刻删除。