我正在使用Maven repo,它在settings.xml中配置
<settings>
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8080/nexus/content/groups/public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
按此顺序拥有maven项目
parent
|
+child1
|
+child2
|
+child3
并在父pom中配置了个人资料,
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>parent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>child1</module>
<module>child2</module>
<module>child3</module>
</modules>
<profiles>
<profile>
<id>p1</id>
<modules>
<module>child1</module>
<module>child2</module>
</modules>
</profile>
<profile>
<id>p2</id>
<modules>
<module>child2</module>
<module>child3</module>
</modules>
</profile>
</profiles>
</project>
现在我想只构建child1&amp; child2,所以我给出以下命令
mvn -P p1 clean
正在构建所有孩子(child1,child2,child3)
mvn -P p1 help:active-profiles
显示以下个人资料有效,
我如何只建立选择性项目?
答案 0 :(得分:1)
如果您想在多模块构建中构建单个子项,则应使用如下命令行:
mvn -pl child1 clean package
可能需要提供
mvn -pl -amd child1 clean package
但不要将配置文件用于此类目的。