在項目開發中,可能會遇到下面這種場景:同樣一個網關組件,一個環境下使用的是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的值,就可以實現了。