在使用 start-multi-instance.sh 启动实例时,出现以下错误:
org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property 'spring.profiles.include' imported from location 'class path resource [application-prod-9900.yml]' is invalid in a profile specific resource
在Spring Boot 2.4+版本中,spring.profiles.include 属性不能在profile-specific的配置文件中使用(如 application-prod-9900.yml)。这个属性只能在主配置文件(application.yml)中使用。
移除了所有实例配置文件中的 spring.profiles.include: prod 配置:
修复前:
# application-prod-9900.yml
spring:
profiles:
include: prod # ❌ 这在profile-specific文件中不被允许
修复后:
# application-prod-9900.yml
spring:
application:
name: RuoYi-Vue-Plus-9900 # ✅ 直接配置应用名称
修改启动脚本,在启动时同时激活 prod 和具体的实例profile:
修复前:
-Dspring.profiles.active=$profile # 只激活 prod-9900
修复后:
-Dspring.profiles.active=prod,$profile # 同时激活 prod 和 prod-9900
backend/ruoyi-admin/src/main/resources/application-prod-9900.ymlbackend/ruoyi-admin/src/main/resources/application-prod-9901.ymlbackend/ruoyi-admin/src/main/resources/application-prod-9902.ymlbackend/ruoyi-admin/src/main/resources/application-prod-9903.ymldocs/部署文档/杭州第一技师部署文档/start-multi-instance.sh修复后的配置加载顺序:
application.yml (主配置文件)application-prod.yml (生产环境基础配置)application-prod-9900.yml (9900端口实例特定配置)重新编译项目:
mvn clean package -Pprod
bash
./start-multi-instance.sh start 9900
检查启动日志,确认没有配置错误
访问应用验证功能正常:
curl http://localhost:9900