当前位置: 首页 > 知识库问答 >
问题:

spring boot-在资源文件夹下标识资源

洪和风
2023-03-14

我有一个spring boot应用程序。我正在尝试读取一些我放在main/resources文件夹下的文件。我看到spring boot自动读取resources文件夹下的application.properties。但是,它似乎无法读取我放在resources文件夹下的其他xml/文本文件。

Source xslt = new StreamSource(new File("removeNs.xslt"));

我是否应该为程序添加任何附加配置,以自动读取资源文件夹下的所有文件,而不必显式提供路径?

共有2个答案

王英彦
2023-03-14

您需要指定要使用以下方式读取资源文件夹下的特定文件:

@PropertySource批注。

可以使用

@PropertySources({
    @PropertySource(),
    @PropertySource()
})
麹承
2023-03-14
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("removeNs.xslt").getFile());

这应该管用。

感谢@edwin提及更健壮的解决方案:

File file = new File(Thread.currentThread().getContextClassLoader().getResource("removeNs.xslt").getFile());
 类似资料:
  • 资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。比方说,如果你的Hexo项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中。然后通过类似于 ![](/images/image.jpg) 的方法访问它们。 对于那些想要更有规律地提供图片和其他资源以及想要将他们的资源分布在各个文章上的人来说,Hexo也提供了更组

  • 我正在从主类访问资源文件夹中的文件 我收到了这个错误: 我甚至打开了jar文件,remoteUnitsIdsInOldServer.txt文件就在那里,在类内部

  • 我在我的pom中复制并粘贴了以下取自文档的片段。xml 但当我尝试触发部署时,会收到以下消息: 这是我的目录结构: 如何更改资源的目标文件夹?为什么maven没有解析插件中的配置指令?

  • 我有一个名为的项目,它有以下结构: 所以这两个文件的路径是: 我想读测试文件。TestDataProvider中的json。JAVA 我曾经用过 我看到从URL res=getClass(). getClassLoader(). getResources("testfile.json")返回; 有人能帮我吗?

  • 问题内容: 我正在尝试在资源文件夹中写入.txt文件,但是它什么也没写。我可以通过执行以下操作读取相同的.txt文件: 但是当涉及到写作时,我尝试做: 关于如何在该文件夹中写任何建议? 问题答案: 假设您将资源打包为jar,则无法将任何内容写入资源。Jar只。您无法更新。您可以提取和编辑内容。 您可以尝试使用偏好设置作为替代

  • 默认情况下,Maven根据标准目录布局检查resources文件夹。尽管最后一个罐子有问题。 它最终添加了src/main文件夹之外的所有资源,这使得我的JavaFX应用程序变得愚蠢。 因为我正在从src/main/resources文件夹加载图像,如下所示: 在最终的jar中,图像文件夹不在主文件夹下。我曾经有资源文件夹外面的文件夹,一切似乎都好,虽然我想遵循标准目录布局,所以我移动它。之前一切