美文网首页
Maven -- 基础知识的记录

Maven -- 基础知识的记录

作者: 2017_7_2 | 来源:发表于2017-07-03 15:15 被阅读30次

    1. 项目编译时,Maven的工作

    当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库(Maven官方提供的远程仓库)下载所需Jar包。

    2. 坐标

    Maven通过坐标在仓库中找到项目所需的Jar包,其变量有:

    • groupId:所需Jar包的项目名
    • artifactId:所需Jar包的模块名
    • version:所需Jar包的版本号

    代码举例:

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.1</version>
    </dependency>
    

    3. 依赖

    在引用jar包的时候,如果该Jar包又引用了其他Jar包,那么在默认的情况下,根据传递依赖的原理,Maven会将其全都下载下来。而如果只想下载直接引用的Jar包,则可以通过排除依赖,将需要排除的Jar包的坐标写在pom.xml中。
    代码举例:

    <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
    </exclusions> 
    

    4. 聚合

    只需在pom中作相应配置即可实现聚合--将多个项目同时运行。
    代码举例:

    <modules>
            <module>../模块1</module>
            <module>../模块2</module>
            <module>../模块3</module>
    </modules>
    

    5. 继承

    在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。实现上需要分别配置父pom及子pom.
    父pom的配置举例:

    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.apache.shiro</groupId>
                    <artifactId>shiro-spring</artifactId>
                    <version>1.2.2</version>
                </dependency> 
            </dependencies>
    </dependencyManagement>
    

    子pom的对应配置如下:

    <parent>
        <groupId>父pom所在项目的groupId</groupId>
        <artifactId>父pom所在项目的artifactId</artifactId>
        <version>父pom所在项目的版本号</version>
    </parent>
    

    相关文章

      网友评论

          本文标题:Maven -- 基础知识的记录

          本文链接:https://www.haomeiwen.com/subject/olzacxtx.html