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

如何将外部配置资源包含到Spring(Spring Boot)中的类路径中?

邢晗日
2023-03-14

我有第三方库,它是通过将属性文件放在类路径的根上来配置的。该库正在使用getClass().getResourceStream(“/file.properties”)加载该文件。因为它是第三方,所以它是不可修改的。我已将该配置文件放入外部resources目录中(不要与Maven或Gradle目录结构中的resources相混淆)。

目录结构是这样的。

如何运行/配置Spring boot以将resources目录的内容包含到类路径中,从而使GetResourceStream能够工作?

编辑:

只需要澄清一句--将配置文件放在项目资源中(沿着源)是不完整的。我想保持配置外部化。

共有1个答案

祁凯泽
2023-03-14

以下是您的操作方法:

1.-更改spring-boot-maven-plugin配置以启用Spring Boot PropertiesLauncher:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <layout>ZIP</layout>
            </configuration>
        </plugin>
    </plugins>
</build>

2.-启动Spring Boot应用程序,设置外部属性文件的位置:

/home/user/
     |--- file.properties
     |--- spring-mg-0.0.1-SNAPSHOT.jar 
 类似资料:
  • 资源路径(C:\ti\ccsv5......launcher_1.3.0.v20120522-1813.jar)是我键入-js:>print(system.getproperty(“java.class.path”))时显示的路径; 我不明白如何将jar文件添加到资源路径中,我试图通过命令提示符:java-cp“path of jar”来完成它。包含main的类的名称-->既然Rhino负责从ja

  • null 我希望使用标准的方法和spring的能力来自动配置bean,我不希望手动加载一些属性文件和手动配置所有bean。因此,为了解决这个问题,我创建了另一个配置应用程序--Customization.yml,并通过include将其链接到prod config中(参见上面的示例)。在这里我遇到了一个问题:我无法通过命令行参数(-dspring.config.location或任何it变体)选择

  • 似乎默认情况下,Quarkus生成的本机映像不包含任何与< code>src/main/resources/中的内容相对应的类路径资源。 从GraalVM医生那里,我有点理解为什么会发生这种情况,但现在我被卡住了。是否有方法配置以将资源包含在本机映像中?

  • 在Quarkus中,要将随机文件包含为类路径资源,我们使用<code>Quarkus.native.resources。包括(https://quarkus.io/guides/writing-native-applications-tips#including-资源)。 如何在文件系统中包含文件?即使用读取的内容。 如果我们使用Jib,我们只需将这些文件放在< code>src/main/jib

  • 问题内容: 我有一些可怕的行为。我有以下Maven配置: 这将创建包含所有类的JAR文件,但我在类路径中有一些资源也应包括在内。如果我将参数放在阶段的前面,那么我的所有资源都会包括在内。如果我使用运行Maven ,则不包含任何资源。我的资源位于(不是通常的目录)下。 问题答案: 目标配置中未正确定义资源的源目录。同样,outputDirectory元素将资源放置在dir中,默认情况下将其打包。试试

  • 我有一些可怕的比目鱼。我有以下Maven配置: 这创建了包含所有类的JAR fie,但我在类路径中有一些资源也应该包括在内。如果我将参数留在phase前面,那么我的所有资源都包括在内了。如果我使用运行maven,则不包含任何资源。我的资源在(不是通常的目录)下。