[英]Change maven profile from within project
我想从 maven 项目中更改 maven 项目的活动配置文件。
java 项目有 3 个具有主要方法的类,它们一个一个地执行,所有这些都需要不同的依赖集。
我想用不同的 maven 配置文件运行这些类。
例如,我的项目 project1 是 maven 项目,并被 mvn clean package spring-boot:run 命令调用。
当控件到达 project1 时,它会一个一个地执行 java 类。
我的要求是,当 ClassA 运行时,它应该将当前的 maven 配置文件更改为 profile1(重新编译同一个项目是可以的,性能不是优先级)。 同样,当 ClassB 被调用时,它应该将当前的 maven 配置文件更改为 Profile2。 (注意这些类是使用反射从目录中动态选择的,只有 class 会知道它支持什么配置文件)
有什么办法 maven 在运行时允许这样做。 如果不是什么是实现这一目标的最佳方法。
maven 配置文件不是为此类任务设计的,您实际需要做的是为每个 class 设置不同的执行:
...
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>run-clsa</id>
<goals>
<goal>run</goal>
</goals>
<phase>none</phase>
<configuration>
<mainClass>ClassA</mainClass>
</configuration>
</execution>
<execution>
<id>run-clsb</id>
<goals>
<goal>run</goal>
</goals>
<phase>none</phase>
<configuration>
<mainClass>ClassB</mainClass>
</configuration>
</execution>
</executions>
...
并以下列方式运行:
mvn clean package spring-boot:run@run-clsa
mvn clean package spring-boot:run@run-clsb
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.