【问题标题】:Jar not finding image罐子找不到图像
【发布时间】:2020-07-22 08:27:25
【问题描述】:

我有一个带有 spring-boot 的 maven 项目。我在 my-module/src/resources/images/image.png 中有一个 png 图像。

我创建 mvn clean package 并生成了一个 Jar,好的,现在我以 java -jar my_jar.jar 运行 Jar 但我收到此错误 java.io.FileNotFoundException: /Users/jose/projects/my-project/类路径:images/image.png

在我的代码中:

private static final String IMAGE_PATH = "classpath:images/image.png";

和

Image image = PngImage.getImage(IMAGE_PATH);

似乎它没有得到应有的 :classpath 关键字,而是作为文字。

当我解压 Jar 文件时,图像位于 /BOOT-INF/classes/images/image.png

我们的想法不是尽可能更改代码,而是更改执行或生成 Jar 的方式。 不过欢迎提出所有建议。

谢谢

【问题讨论】:

  • 我的answer 对你有用吗?

标签: java spring-boot maven executable-jar


【解决方案1】:

我不确定您使用的是什么 PngImage 类。但如果getImage() 方法接受InputStream,则可以使用:

@Value("classpath:images/image.png")
private Resource resource;

然后:

InputStream inputStream = resource.getInputStream();

以下也应该有效:

ClassPathResource resource = new ClassPathResource("images/image.png");
InputStream inputStream = resource.getInputStream();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2012-09-06
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多