在项目开发中,可能会遇到下面这种场景:同样一个网关组件,一个环境下使用的是zuul,另一个环境下使用的是Gateway,那么在通过maven打包的时候,如何通过maven命令,自动的将上面的依赖区分开,根据参数将不同的依赖添加到包中呢?
这里用到了"profiles"这个标签,请看下面的例子:注意:这里没有写网关的依赖,而是写的自己用来测试的依赖。
<profiles>
<profile>
<id>test</id>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<id>dev</id>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
在pom文件中,我定义了两个profile,分别表示两种场景,其中的id是用来作为唯一标识的,然后通过
maven命令:
clean package -P dev
其中,“P”是大写的,后面跟的是id的值,就可以实现了。