cicd

maven几个有趣的命令

2016-06-30  本文已影响1247人  Mooner_guo

经常部署maven项目会遇到很尴尬的事情,所以还是要熟练掌握一些 maven奇淫技巧和命令是很有必要的。
命令格式:

mvn [options] [<goal(s)>] [<phase(s)>]

可以通过mvn -h查看命令帮助。

一、多module项目中的一些命令

假设项目module分块如图1.1 所示,module C 依赖module A,B,且module A,B,C的parent都是用module yp。


图1.1 项目结构图

yp pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.yep.yp</groupId>
    <artifactId>yp</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.7</version>
        </dependency>

    </dependencies>
</project>

A pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>yp</artifactId>
        <groupId>com.yep.yp</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yep.yp</groupId>
    <artifactId>A</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

</project>

B pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>yp</artifactId>
        <groupId>com.yep.yp</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yep.yp</groupId>
    <artifactId>B</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

</project>

C pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>yp</artifactId>
        <groupId>com.yep.yp</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yep.yp</groupId>
    <artifactId>C</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>com.yep.yp</groupId>
            <artifactId>A</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>com.yep.yp</groupId>
            <artifactId>B</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
1. mvn clean install -pl A,B

-pl用来指定需要bulid的工程 A,B,多个工程用逗号隔开。

2. mvn clean install -pl A,B -am

-am bulid工程list并且也build A,B require的工程D。这里require是指parent工程D。

3. mvn clean install -pl A,B -amd

-amd build 项目list,且build 依赖A,B的项目如C。

上一篇 下一篇

猜你喜欢

热点阅读