我在pom.xml中定义了三个配置文件
<profiles>
<profile>
<id>development</id>
<properties>
<activatedProperties>development</activatedProperties>
<env.identifier>dev</env.identifier>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>qualification</id>
<properties>
<activatedProperties>qualification</activatedProperties>
<env.identifier>klif</env.identifier>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<activatedProperties>production</activatedProperties>
<env.identifier>prod</env.identifier>
</properties>
</profile>
</profiles>
我还将构建节点修改为:
<build>
<finalName>myApplication</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
我创建了三个属性文件,并将此模式命名为:application- [profileId] .properties。 在application.properties中,我定义了属性:
spring.profiles.active=@activatedProperties@以指定Spring引导使用哪个配置文件。 我还为我的日志文件定义了一个文件,如下所示:
logging.file=logs/facade_@env.identifier@.log问题是,当我启动我的应用程序时,即使指定配置文件,我总是得到我的env.identifier dev的值。 如何解决这个问题?感谢
答案 0 :(得分:0)
<强>更新强>
您可能缺少maven资源插件:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
</plugin>
...
</plugins>
然后在你的命令中你只需要添加:
mvn resources:resources