`@runtime@`是Maven的占位符,它会在打包时被替换为实际的值。因此,在`application.properties`文件中使用`@runtime@`作为`spring.profiles.active`的值是不正确的。
如果你想在运行时指定激活的配置文件,可以使用以下方法之一:
1. 使用命令行参数:在启动应用程序时,可以使用`--spring.profiles.active=dev`参数来指定激活的配置文件。例如,如果你想激活名为`application-dev.properties`的配置文件,可以使用以下命令:
```
java -jar myapp.jar --spring.profiles.active=dev
```
2. 使用环境变量:你可以设置一个名为`SPRING_PROFILES_ACTIVE`的环境变量,并将其值设置为要激活的配置文件名。例如,在Linux系统上,可以使用以下命令设置环境变量:
```
export SPRING_PROFILES_ACTIVE=dev
```
在Windows系统上,可以使用以下命令:
```
set SPRING_PROFILES_ACTIVE=dev
```
然后,在启动应用程序时,Spring Boot会自动读取这个环境变量并激活对应的配置文件。
无论你选择哪种方法,都需要确保你的配置文件名与指定的值匹配,并且配置文件存在于正确的位置。默认情况下,Spring Boot会在classpath下查找配置文件,你可以通过设置`spring.config.location`属性来改变这个行为。例如,如果你想将配置文件放在`/opt/myapp/config`目录下,可以添加以下配置:
```
spring.config.location=/opt/myapp/config/
```
这样,Spring Boot会在指定的目录下查找配置文件,并加载其中与激活的配置文件名匹配的文件。