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

如何在Spring-Boot中添加多个application.properties文件?

毕黎昕
2023-03-14

我有一个Spring boot应用程序,它分为几个模块。主模块运行应用程序,并在resources文件夹中有一个application.properties文件。我想知道是否可以在子模块中添加另一个属性文件来分离属于该模块的属性,以及如何使其工作(因为它并非如此)。

+main_module
  +src
    +main
      +java
        +my/package/Application.java
        +resources/application.properties
+support_module
  +src
    +main
      +java
        +resources/application.properties

所以,这就是目前的情况。显然,模块support_module中的属性文件没有被读取,这导致NoSuchBeanDefinitionException,而如果我将内容放在其他属性文件中,则一切正常。

共有1个答案

幸弘光
2023-03-14

在使用Maven或Gradle时,您正在尝试的操作将不起作用。原因是当创建工件(很可能是jar,因为您使用的是Spring Boot)时,根中只有一个application.properties文件。

我建议您或者更改支持模块上的属性文件的名称,然后配置Spring Boot来查找该文件(看看这个或这个指针答案),或者为您的构建工具使用某种合并任务(可能像这样)

 类似资料:
  • 但是,我希望有一个通用的类,它可以用于使用application.properties中的属性构建。这能做到吗? 我们目前正在通过以下方式手动实现此目标:

  • 我使用Spring Boot多个模块,我希望从父级继承application.properties。我有父模块:spring-ecommere-demo和子模块:模型、核心和安全。在父模块中,我将jdbc配置如下所示: Application.Properties(父模块) 考虑以下内容:如果您想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上。如果要从特定配置文件加载数据库设

  • 在我的Spring Boot项目中,我在资源文件夹中有application-default.properties文件,在名为“config”的文件夹中有另一个application.properties文件。这个文件夹是我在项目文件夹中手动创建的。现在,当我通过eclipse运行spring boot应用程序时,它会在config目录中找到properties文件,当我创建同一项目的jar并通过

  • 我想访问application.properties中提供的值,例如: 我想在Spring Boot应用程序中访问主程序中的userBucket.path

  • 问题内容: 我想访问中提供的值,例如: 我想在Spring Boot应用程序的主程序中访问。 问题答案: 你可以使用批注并在使用的任何Spring bean中访问属性 Spring Boot文档的Externalized Configuration部分介绍了你可能需要的所有详细信息。

  • 我目前正在处理一个Spring Boot项目,我们有一个application.properties文件,它定义了一个路径,我们有2个jks文件。(原始文件有更多的键/值对,但我专注于这两对的主要问题) 实例 但是现在,我需要读取一个环境变量,其中包含一个编码值,我需要获取、解码和使用它来创建这些文件。主要问题是,我需要在属性“加载”之前创建这两个文件,因为这些文件不存在,如果我首先不构建它们,有