我目前正在使用STS在Spring Boot中编写应用程序。
现在我有不同的依赖项,我希望在以下情况下进行过滤:
在STS内部作为弹簧启动运行应用程序 应用
构建工件以在服务器上部署
我将依赖项与pom.xml中的配置文件分开,如下所示:
<profiles>
<profile>
<id>local</id>
<activation>
<activateByDefault>false</activateByDefault>
</activation>
<dependencies ...
</profile>
<profile>
<id>server</id>
<activation>
<activateByDefault>true</activateByDefault>
</activation>
<dependencies ...
</profile>
我的问题是,当我启动本地spring启动应用程序时,如何将运行配置中的本地配置文件激活为vm参数? 由于其他配置文件中的 activateByDefault true 设置,它无法启动应用程序,因为本地启动的某些依赖项被排除在外。
编辑:我想更改应用启动配置中的配置文件。没有maven构建,所以我不能使用-P标志。
添加
<activation>
<property>
<name>act</name>
<value>local</value>
</property>
</activation>
以vm参数开头-Dact = local不起作用。
答案 0 :(得分:3)
在运行时,您无法激活不同的构建配置文件(如pom.xml
中所述)。当你运行应用程序时,为时已晚,因为它在运行之前已经构建完毕。
换句话说,您可以使用maven配置文件创建不同的版本。
您可以使用Spring配置文件更改应用程序运行时行为@pvpkiran。