通过设置 VM 参数激活 Maven 配置文件
Activate a Maven profile by setting VM arguments
我目前正在 Spring 使用 STS 引导编写应用程序。
现在我有不同的依赖项,我想在以下情况下过滤它们:
运行将应用程序本地安装在 STS 中作为 spring 启动
申请。
构建用于在服务器上部署的工件
我在 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 不起作用。
run configuration
您不能在 运行 时间内激活不同的构建配置文件(如 pom.xml
中所述)。当您 运行 您的应用程序时为时已晚,因为它已经在 运行 之前构建。
换句话说,您可以使用 Maven 配置文件来创建不同的构建。
您可以使用 Spring 配置文件更改应用程序的 运行 时间行为(如 @pvpkiran 所建议)。
我目前正在 Spring 使用 STS 引导编写应用程序。
现在我有不同的依赖项,我想在以下情况下过滤它们:
运行将应用程序本地安装在 STS 中作为 spring 启动 申请。
构建用于在服务器上部署的工件
我在 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 不起作用。
run configuration
您不能在 运行 时间内激活不同的构建配置文件(如 pom.xml
中所述)。当您 运行 您的应用程序时为时已晚,因为它已经在 运行 之前构建。
换句话说,您可以使用 Maven 配置文件来创建不同的构建。
您可以使用 Spring 配置文件更改应用程序的 运行 时间行为(如 @pvpkiran 所建议)。