繁体   English   中英

IntelliJ IDEA:在IDE外部运行时Jar无法加载图像

[英]IntelliJ IDEA: Jar doesn't load images when run outside of IDE

我正在使用JetBrains IntelliJ IDEA IDE。 这就是我用来生成jar文件的内容。 从IDE运行jar文件,一切看起来都很好。

从终端运行jar,未加载任何图像。

通过阅读,我的感觉是这与用于图像的相对路径有关……但是我无法弄清楚。 我尝试了在JetBrains论坛和StackOverflow上建议的各种不同的项目文件夹结构,但无济于事。 一切正常,直到我在IDE外部运行jar为止。

我当前的项目结构:

在此处输入图片说明

如何在地球上创建可在任何地方使用的jar文件?

使用IntelliJ的资源文件夹可能是正确的方法。

只需右键单击res文件夹,转到将Mark Directory As然后选择Resources

在此处输入图片说明

然后,您可以仅通过名称(不带res/前缀)访问此文件夹中的文件。

工作的视觉示例:

在此处输入图片说明

源和资源根的处理方式不同。

资源目录中的所有文件将始终复制到输出路径。 如另一个答案所建议,解决方案之一是将该目录配置为Resources root 这是使其工作的首选方式。

如果要将源根目录中的文件复制到输出中,则必须为将要复制的文件指定模式

如果项目是基于Maven或Gradle的,则这些模式无效,IDE将使用相应构建系统的规则来处理资源。

好的,这就是对我有用的。 我打开了项目结构窗口( Ctrl-Alt-Shift + S ),然后转到“模块”选项卡。 从那里,我可以轻松地从列表中选择一个文件夹,然后单击以使其成为资源目录。 然后,我可以使用URL来访问资源

URL imageUrl = ClassLoader.getSystemResource("image.png")

无需使用的图像的路径,只是它的实际name.ext

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM