我试图阅读并理解maven的个人资料页面,但我无法弄清楚如何在if-else-context中使用个人资料以满足我的需求。
我正在工作的项目中的pom.xml已经给出了以下代码:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
<executions>
<execution>
<id>npm build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
</executions>
...
我想实现像(伪代码)
这样的东西if (profile(debug)){
<arguments>run build-debug</arguments>
} else {
<arguments>run build</arguments>
}
我怎么能用maven做到这一点?
答案 0 :(得分:1)
首先,您必须声明2个配置文件。让我们说&#34;调试&#34;和&#34; prod&#34;。您必须使用相应的参数在每个配置文件中编写整个插件声明。
类似的东西:
<profiles>
<profile>
<id>prod</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
...
<arguments>run build</arguments>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>debug</id>
<build>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
...
<arguments>run build-debug</arguments>
</plugin>
</plugins>
</build>
</profile>
</profiles>
请注意,如果未设置显式配置文件,prod
配置文件将处于活动状态。要运行调试配置文件,只需运行:
mvn package -P debug
你无法用if-else实现它,因为这不是构建配置文件的方式。