Maven只单独部署某个pom,比如只deploy 父pom,不deploy子模块
实例
如果原来工程maven结构
pgroup:partifact:1.0.0-RELEASE
pgroup:module1:1.0.0-RELEASE
pgroup:module2:1.0.0-RELEASE
pgroup:module3:1.0.0-RELEASE
升级module3版本之后,工程maven结构
pgroup:partifact:1.1.0-SNAPSHOT
pgroup:module1:1.0.0-RELEASE
pgroup:module2:1.0.0-RELEASE
pgroup:module3:1.1.0-SNAPSHOT
如果在父级工程目录下 执行 mvn clean package -Dmaven.test.skip=true deploy 明显会报错,因为他会同时将module1、module2、module3 同时编译打包deploy
方法一
那么解决方法就是:
1、在module目录下,对模块module3 deploy
mvn clean package -Dmaven.test.skip=true deploy
2、然后对父级目录deploy
语法:
mvn install:install-file -Dfile=[文件] -DgroupId=[xxxx] -DartifactId=[xxxx] -Dversion=[xxxx] -Dpackaging=jar
对应的是,在父级目录下执行:
mvn install:install-file -Dfile=pom.xml -DgroupId=pgroup -DartifactId=partifact -Dversion=1.1.0-SNAPSHOT -Dpackaging=jar
方法二
在不需要module的pom.xml中添加如下配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
方法三
或者在不需要module的pom.xml中加入这个配置
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>