java -jar 指定spring配置文件
java -jar your-application.jar --spring.profiles.active=dev
详解
在Spring Boot应用中,可以通过java -jar
命令配合特定参数来指定配置文件。以下是具体实现方法:
- 指定激活的Profile:
bash
java -jar your-application.jar --spring.profiles.active=dev
这会激活application-dev.properties
或application-dev.yml
配置文件
- 指定外部配置文件路径:
bash
java -jar app.jar --spring.config.location=file:/path/to/config/
这会加载指定目录下的application.properties
文件
- 直接指定配置文件名称:
bash
java -jar app.jar --spring.config.name=myconfig
这会加载myconfig.properties
而不是默认的application.properties
原理说明:
- Spring Boot会自动加载
application-{profile}.properties
配置文件 - 命令行参数的优先级最高(高于
application.properties
文件中的配置) - 使用
--spring.profiles.active
会合并多个配置,后加载的配置会覆盖先加载的配置 - 当指定
spring.config.location
时,默认的配置文件路径将不再生效
完整示例:
bash
# 同时指定配置文件和激活环境
java -jar myapp.jar \
--spring.config.name=prod-config \
--spring.profiles.active=cloud \
--spring.config.location=classpath:/defaults/,file:/etc/myapp/