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>

 

 

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐