当前位置: 首页 > 面试题库 >

将外部资源文件夹添加到Spring Boot

后凯捷
2023-03-14
问题内容

我想相对于jar的位置添加一个资源文件夹(除了jar中的打包资源),例如:

/Directory
    Application.jar
    /resources
        test.txt

我尝试了以下方法:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/", "file:/resources/");
}

我也尝试过:

.addResourceLocations("/resources/", "file:resources/");

http://localhost:8080/resources/test.txt使用任何一种设置进行访问都会导致出现白标错误页面。我该如何解决?


问题答案:

您的第二种方法可行:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/", "file:resources/");
}

当您从启动Spring Boot时/Directory,因为file:resources/它是相对路径。

cd Directory
java -jar Application.jar

如果可以将所有内容打包到jar中,这很好,但是如果必须引用外部资源,则应该使用绝对路径来避免此类问题。



 类似资料:
  • 问题内容: 我正在使用maven构建可执行的jar文件,这意味着您可以使用“ java -jar file.jar”运行它。 我想依靠用户定义的属性(只是一个包含键/值的文件),在开发阶段,我将“ user.properties”文件放在maven / src / main / resources /文件夹中。 我的属性文件已加载: 现在,我想将该文件保留在JAR之外,并具有以下内容: 我尝试使用

  • 我正在使用 karaf 4.0.5 和 osgi 进行一个项目。我们有客户端代码来调用 REST API,这需要加载 3 个“*.属性”文件。我得到了一个客户端jar,我用它来调用服务器端类和方法(包含我无法更新的代码)。所需的属性文件存在于提供的客户端 jar 中,但其代码仍无法找到并加载它们。 在调试我的pax考试时,我发现它没有从jar加载资源文件的可能原因如下。 用于加载文件的代码似乎仅尝

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

  • 我想问一下,如何在SpringBoot中将文件夹作为资源或文件加载。假设我有src/main/resources/testfolder,我想做如下事情: ^但这将失败,因为ResourceUtils只能加载实际文件(.txt、.csv等),不是文件夹。。提前非常感谢。。 编辑: 原因是我需要得到文件夹的绝对路径... folderpath应该是“/workspace/intellij/Projec

  • 我想从外部源向fullcalendar jquery插件添加一个事件。我需要事件标题;开始日期和结束日期。我读到回调函数是在您将外部源放到日历上时调用的。这将报告警报中的开始日期。选项显示事件的标题。此警报在回调后显示。这是代码: 如何从函数的回调中获取开始日期值?

  • 使用Android Studio是这项任务的必备条件。 谢了。

  • 我们的EAR中有一个资源文件夹,这个文件夹包含一些图像,xml和文本文件。我需要将此文件夹添加到我们的 EJB 清单类路径中。 目前,我的maven ear插件添加了我们的*。jar到我的EJB jar类路径,例如,我们的ejb.jar清单看起来像这样: 但我也需要将我们的“资源”文件夹添加到这个类路径中:

  • 问题内容: 我需要能够向ELF文件添加任意部分。我无法在该程序中使用GPL代码,因此BFD成为不可能。我可以使用libelf / gelf来阅读节,但是这些文档很少,因此我无法弄清楚如何添加节。有人知道怎么做这个吗?我宁愿不编写自己的ELF代码。 问题答案: 关于ELF文件标头的问题有几个(可能)相关答案。提到的接受的答案用于将部分添加到ELF文件,并且BSD bintools 声称具有BSD许可