• Modules


    <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/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.sonatype.mavenbook.ch06</groupId>
        <artifactId>simple-parent</artifactId>
        <packaging>pom</packaging>
        <version>1.0</version>
        <name>Chapter 6 Simple Parent Project</name>
    
        <modules>
            <module>simple-weather</module>
            <module>simple-webapp</module>
        </modules>
    
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.5</source>
                            <target>1.5</target>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
    </project>    

    simple-parent在pom.xml中列出了项目的子模块,这些模块在modules元素中定义,每个module元素对应了一个simple-parent目录下的子目录。Maven会在这些子目录寻找pom.xml并在构建时,将这些子目录包含到要构建的项目中。build配置和dependencies会被所有子模块继承。使用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/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>org.sonatype.mavenbook.ch06</groupId>
            <artifactId>simple-parent</artifactId>
            <version>1.0</version>
        </parent>
    
        <artifactId>simple-webapp</artifactId>
        <packaging>war</packaging>
        <name>simple-webapp Maven Webapp</name>
    
        <dependencies>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-servlet_2.4_spec</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.sonatype.mavenbook.ch06</groupId>
                <artifactId>simple-weather</artifactId>
                <version>1.0</version>
            </dependency>
        </dependencies>
    
        <build>
            <finalName>simple-webapp</finalName>
            <plugins>
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    当Maven执行一个带有子模块的项目的时候,Maven首先载入父POM,然后定位所有的子模块POM。Maven将所有这些项目的POM放到一个成为Maven反应堆中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。

  • 相关阅读:
    回归模型与房价预测
    朴素贝叶斯应用:垃圾邮件分类
    编程实现朴素贝叶斯分类算法
    朴素贝叶斯分类算法
    K-means算法应用:图片压缩
    第八次作业
    第六次作业
    numpy数据集练习
    第五次作业
    中文词频统计
  • 原文地址:https://www.cnblogs.com/forerver-elf/p/6210735.html
Copyright © 2020-2023  润新知