gpt4 book ai didi

java - ClassPathResource 没有得到类路径

转载 作者:IT老高 更新时间:2023-10-28 13:56:29 26 4
gpt4 key购买 nike

在我的应用程序中,我想使用文件夹中存在的资源 media/src/main/resources/testMediaExif

为了获得该路径,我使用了位于 media/src/main/java/com/project/MyClass.java 中的这段代码:

ClassPathResource resource = new ClassPathResource("classpath:testMediaExif");
File file = resource.getFile();
String absolutePath = file.getAbsolutePath();

显示的错误是:

java.io.FileNotFoundException: class path resource [classpath:testMediaExif] cannot be resolved to URL because it does not exist

如果我更改该代码:

ClassPathResource resource = new ClassPathResource("testMediaExif");

变量 absolutePath 取这个值:

/Users/blanca/desarrollo/media/target/test-classes/testMediaExif

为什么它指向目标路径?怎么改?

最佳答案

new ClassPathResource("classpath:testMediaExif")有两个问题:

  1. classpath: 前缀仅用于配置文件(例如 XML 文件),如果您直接使用 ClasspathResource,则不应使用该前缀。
  2. classpath:testMediaExif 指的是类路径根目录中的资源,与您在其中进行引用的文件无关。

试试这个:

new ClasspathResource("testMediaExif", getClass())

new ClasspathResource("testMediaExif", MyClass.class)

这些将构造一个相对于 MyClass 的名为 testMediaExif 的资源的引用。

还有一件事: ClasspathResource.getFile() 只会在资源真正是文件时起作用。如果它被打包在一个 JAR 中,那么它将无法工作。

关于java - ClassPathResource 没有得到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com