JPackage- 我应该将 Windows 应用程序图像的资源文件夹放在哪里?
JPackage- Where should I put resources folder for my Windows app image?
在我制作的 application 中,我将我的资源文件放入一个文件夹(名为 YoutubeAudioAutoDownloader-resources
),并确保当我将该文件夹放在我的应用程序的 .jar 文件旁边时它可以正常工作。
并且当我使用 jpackage
使用以下 cmd 代码制作 exe 安装程序时:(由于我糟糕的目录安排,对于脏代码感到抱歉,我只想强调的部分是 --type
和 --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
文件夹中?或者我不必因为 --resource-dir
选项而做? (我不确定我是否正确了解该选项)
jpackage 中的 --resource-dir
参数用于更改应用程序 EXE 的资源,例如图标等,但听起来您实际上希望本地资源由您自己的 classes 使用 myClass.getClassLoader().getResourceAsStream("somerespath.xyz")
.
我认为 JDK14 jpackage 没有提供指定本地资源目录以添加到 运行 jpackage EXE 的 class 路径的方法。但它确实添加了 jars,因此如果您将所有资源目录与一个简单的 Java class 一起捆绑到一个 jar 中,比如 MyNewClass
您可以通过以下方式找到资源:
MyNewClass.class.getClassLoader().getResourceAsStream("pathto/aresource.xyz");
这个新的 jar 需要与您的其他 jar 一起使用,所以它是用 --input "%~dp0packaging\jar"
拾取的,然后每个启动器 EXE app/xyz.cfg
的 classpath 字段应该引用额外资源 jar.
在我制作的 application 中,我将我的资源文件放入一个文件夹(名为 YoutubeAudioAutoDownloader-resources
),并确保当我将该文件夹放在我的应用程序的 .jar 文件旁边时它可以正常工作。
并且当我使用 jpackage
使用以下 cmd 代码制作 exe 安装程序时:(由于我糟糕的目录安排,对于脏代码感到抱歉,我只想强调的部分是 --type
和 --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
文件夹中?或者我不必因为 --resource-dir
选项而做? (我不确定我是否正确了解该选项)
jpackage 中的 --resource-dir
参数用于更改应用程序 EXE 的资源,例如图标等,但听起来您实际上希望本地资源由您自己的 classes 使用 myClass.getClassLoader().getResourceAsStream("somerespath.xyz")
.
我认为 JDK14 jpackage 没有提供指定本地资源目录以添加到 运行 jpackage EXE 的 class 路径的方法。但它确实添加了 jars,因此如果您将所有资源目录与一个简单的 Java class 一起捆绑到一个 jar 中,比如 MyNewClass
您可以通过以下方式找到资源:
MyNewClass.class.getClassLoader().getResourceAsStream("pathto/aresource.xyz");
这个新的 jar 需要与您的其他 jar 一起使用,所以它是用 --input "%~dp0packaging\jar"
拾取的,然后每个启动器 EXE app/xyz.cfg
的 classpath 字段应该引用额外资源 jar.