Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改Spring引导应用程序中的application.properties名称_Java_Spring_Spring Boot - Fatal编程技术网

Java 更改Spring引导应用程序中的application.properties名称

Java 更改Spring引导应用程序中的application.properties名称,java,spring,spring-boot,Java,Spring,Spring Boot,我在/resources中找到了我的应用程序.properties文件。我只想将名称更改为.properties。根据,我应该能够通过将spring.config.name指定为环境属性来更改名称: java-jarmyproject.jar--spring.config.name=myproject 但是有没有一种方法可以通过注释或者在代码库中实现呢 spring.config.location - classpath:{myproject}.properties 这对我有用 并确保如果Pr

我在/resources中找到了我的
应用程序.properties
文件。我只想将名称更改为
.properties
。根据,我应该能够通过将spring.config.name指定为环境属性来更改名称:

java-jarmyproject.jar--spring.config.name=myproject

但是有没有一种方法可以通过注释或者在代码库中实现呢

spring.config.location - classpath:{myproject}.properties
这对我有用

并确保如果PropertySource(@PropertySource)存在于应用程序中的任何位置,则在PropertySource的值中放置相同的类路径

.
├src
| └main
|   └resources
|     └myproject.properties

嗯,我不确定这是否是最好的方法(如果一位Spring大师看到了这一点,请让我知道它是否是:),但我做了以下工作:


@PropertySource(value={“classpath:my project.properties”},ignoreResourceNotFound=true)

我认为最简单的方法是在Spring Boot应用程序入口点的主方法中设置一个系统属性:

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        // Tell Boot to look for my-project.properties instead of application.properties
        System.setProperty("spring.config.name", "my-project");
        SpringApplication.run(MyApplication.class, args);
    }
}

还可以提供以下系统属性(或环境变量)来更改行为:

  • spring.config.name
    spring\u config\u name
    ):默认将应用程序作为文件名的根
  • spring.config.location
    spring\u config\u location
    ):要加载的文件(例如类路径资源或URL)。为此文档设置了单独的环境属性源,可以由系统属性、环境变量或命令行覆盖

您可以使用
SpringApplicationBuilder
设置内联属性:

SpringApplicationBuilder()
  .properties("spring.config.name=myproject")
  .sources(MyApplication.class)
  .run(args);

这不会更改
应用程序的名称。属性
,它会向环境中添加一个新的属性源。你问了一个误导性的问题,然后发布一个不同的答案并接受它,这就像猴子抓自己的背:)它在
new SpringApplicationBuilder()中缺少
new
SpringApplicationBuilder()
  .properties("spring.config.name=myproject")
  .sources(MyApplication.class)
  .run(args);