https://blog.csdn.net/wsgsm/article/details/83274362
    springboot项目打成jar包,默认读取的classpath路径下的配置文件,config.properties是自定义配置文件。

    如果要把config.properties配置放在jar包外面,方便修改配置,
    1.在启动类或者配置类上添加@PropertySource注解,value参数配置扫描路径,可以为多个,当ignoreResourceNotFound为true时,项目启动的时,先从第一个路径去找配置文件,如果找不到,再从第二个路径去找,以此类推…
    @Data
    @Component
    @ConfigurationProperties
    @PropertySource(value = {“classpath:config.properties”,”file:${spring.profiles.path}/config.properties”},ignoreResourceNotFound = true)
    public class ConfigBean {



    }
    spring.profiles.path:config.properties文件所在的路,可以在application.yml配置,
    不过为了方便,spring.profiles.path一般在jar包启动的时候传入:
    java -jar xxx.jar —spring.profiles.path=xxx
    这样,jar启动的时候根据传入的参数去读取自定义配置文件
    项目部署中,不打包,直接修改外置配置文件,再次运行即可达到修改效果。
    springboot提供四种方式
    第一种:在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;
    第二种:直接把配置文件放到jar包的同级目录;
    第三种:在classpath下建一个config文件夹,然后把配置文件放进去;
    第四种:在classpath下直接放配置文件。
    优先级:这四种方式的优先级是从一到四一次降低的。
    经测试完全是可用的。
    在wind测试jar运行命令:java -jar demo.jar
    在wind中如何关闭项目:关闭命令窗口或者任务管理器中关闭java.exe32


    org.springframework.boot
    spring-boot-maven-plugin

    ZIP


    nothing
    nothing




    <!—
    org.apache.maven.plugins
    maven-jar-plugin
    2.4


    .yml


    —>

    org.apache.maven.plugins
    maven-dependency-plugin


    copy-dependencies
    package

    copy-dependencies


    target/lib
    false
    false
    true





    @Component
    @PropertySource(value={“classpath:config/systemconfig.yml”,”file:${spring.profiles.path}/config/systemconfig.yml”},ignoreResourceNotFound = true)
    @ConfigurationProperties(prefix = “”)
    public class SystemConfig {