通过自动构建应用程序(maven)设置正确的弹簧轮廓
通过为不同的环境或用例创建多个属性文件,有时很难手动将 active.profile
值更改为正确的值。但是有一种方法可以在使用 maven-profiles
构建应用程序时在 application.properties
文件中设置 active.profile
。
假设我们的应用程序中有三个环境属性文件:
application-dev.properties
:
spring.profiles.active=dev
server.port=8081
application-test.properties
:
spring.profiles.active=test
server.port=8082
application-prod.properties
spring.profiles.active=prod
server.port=8083
这三个文件的端口和活动配置文件名称不同。
在主 application.properties
文件中,我们使用 maven 变量设置弹簧配置文件 :
application.properties
spring.profiles.active=@profileActive@
之后我们只需在我们的 tihuan 中添加 maven 配置文件。我们将为所有三种环境设置配置文件:
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
你现在可以使用 maven 构建应用程序。如果你没有设置任何 maven 配置文件,它会构建默认配置文件(在这个例子中它是 dev)。要指定一个,你必须使用 maven 关键字。在 maven 中设置配置文件的关键字是 -P
,后面跟着配置文件的名称:mvn clean install -Ptest
。
现在,你还可以创建自定义构建并将其保存在 IDE
中以加快构建速度。
例子:
mvn clean install -Ptest
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 11:24:44.885 INFO 6328 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 11:24:44.886 INFO 6328 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: test
mvn clean install -Pprod
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 14:43:31.067 INFO 6932 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 14:43:31.069 INFO 6932 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: prod