maven项目中将配置文件从jar包中提取出来,并且服务启动后读取外部的配置文件

       我们在发布服务的时候,有的时候会出现配置文件在jar包或者war包内,每次修改都需要重新打包。这样就会浪费很多时间,特别是线上的问题。需要即刻生效。这个时候就需要我们在打包的时候处理好。

     第一步,在pom.xml修改。

     在主pom.xml的build处添加如下代码

      

    <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <!-- 并把文件复制到target目录下-->
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                    <!-- 指定不需要处理的资源 <excludes> <exclude>WEB-INF/*.*</exclude> </excludes> -->
                                    <!--<excludes>-->
                                    <!--<exclude>**/*.xml</exclude>-->
                                    <!--</excludes>-->
                                    <includes>
                                        <include>application.properties</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>

                </executions>
            </plugin>

   这样,当我们打好包的时候,就会在jar包附近看到application.properties文件,这个文件存储的是我们需要配置的参数

第二步:发布

通常情况下,打包只需要用:

jar -jar xx.jar 

这样就可以了。

但是如果用第一步的情况下,我们需要使用下面启动包

 

 java –jar target/xxxx.jar –spring.config.location=target/conf/相应环境的配置文件.yml  (# xxxx.jar 是编译生成的可执行jar包,这个命令是指定环境配置并运行项目)

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值