在配置文件中提供依赖项和提供正常依赖项之间有什么区别。
下面给出了一个仅包含依赖关系和配置文件块的pom.xml。
但我不知道有什么区别。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka</artifactId>
<version>0.9.3</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>one</id>
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.3</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>two</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
答案 0 :(得分:2)
配置文件处于活动状态时,仅应用配置文件中的依赖关系和配置。在您的情况下,默认情况下,配置文件1不活动,因此您必须在调用Maven时激活它。由于<activeByDefault>true</activeByDefault>
,配置文件2始终处于活动状态。
您可以使用参数-P
激活配置文件,例如mvn clean install -Pone
。