我在一个parent根pom里的有如下代码段
设置dev为默认profile
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>application-dev.yml</exclude>
<exclude>application-test.yml</exclude>
<exclude>application-prod.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${profileActive}.yml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
</build>
然后某个springboot项目引用了这个pom为parent
这个项目的resource下有application.yml application-dev.yml application-test.yml
其中application.yml里有如下:
spring:
profiles:
active: @profileActive@
如果我打包将这个项目传到linux服务器下运行,则正确的采用了dev这个默认profile, 日志为
2019-01-18 00:25:58.435 INFO 8956 --- [ main] c.u.i.k.p.myproject.MyApplication : The following profiles are active: dev
但是如果我在IDEA下点击调试运行
其中(图中的红色警告是应为我为了隐私,不想透露具体的项目和类名,乱写的,这里只是显示一下配置)
没做任何配置
那么会出现
2019-01-17 16:33:38.561 INFO 12044 --- [ main] c.u.i.k.p.myproject.MyApplication : No active profile set, falling back to default profiles: default
请问这是怎么回事啊?
你展开 IDEA 左侧的 Maven看板的 Profiles 看看对应的配置有没有被勾选上
