Maven小知识点

1)Maven利用生命周期与对应的插件绑定来完成任务,为我们简化好多操作。执行Maven命令时,执行当前命令Maven按照生命周期会把
之前的命令全执行一遍,如执行mvn package时它会先执行mvn compile(编译)等操作。

2) Maven约定优于配置,如Maven工程的目录结构固定,如:src/main/java用于写业务代码,src/test/java用于写测试代码。

3)Maven坐标:Maven利用坐标,就可以到仓库去下载对应的jar包,利用groupId和artifactId就可以确定唯一坐标,省去了我们到各个网站去找对应的jar,从而节省时间。下载后的jar包在仓库里统一管理。
如当打成war包时,Maven再根据依赖把对应的jar包加载到工程对应的webapp下的lib文件夹下。

4)利用私服来减少对外网的访问从而减少带宽。

5)利用聚合来管理多模块,用继承来减少重复依赖。

6)与版本工具配合可以完成自动化部署。

7)groupId、artifactId
   groupId: 定义当前Maven项目隶属的实际项目,可以用公司域名的反转加上项目名。如:org.apache.shiro,org.apache.commons,其中org.apache是公司域名倒过来写,shiro是公司的项目名称。
   artifactId:是模块名,推荐是使用实际项目名做为artifactId的前缀。如shiro-core

<dependency>
 <groupId>org.apache.shiro</groupId>
 <artifactId>shiro-core</artifactId>
</dependency>

8) 可以既是聚合又是继承。
    <packaging>pom</packaging>
    <modules>
        <module>child1</module>
        <module>child2</module>
    </modules>

9) dependencyManagement父子模块都先不引入,只做依赖声明和版本号定义。插件依赖也有对应的pluginManagement用法类似。
dependencyManagement:既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性。在dependencyManagement元素下的依赖声明不会引入实际的依赖。
但它可以约束dependencies的使用。如版本号的定义。在父模块声明后在子模块要想使用相关的依赖。直接写出groupId、artifactId即可,因为版本号在父模块已经定义好了。

父模块
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
        <!-- 版本号最好定义在<properties></properties>里,用的时候用${}引入 -->
            <version>1.3.2</version> 
        </dependency>
    </dependencies>
</dependencyManagement>

子模块
<dependencies>
    <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-core</artifactId>
    </dependency>
</dependencies>

10)模块构建时修剪,即在多模块中可以指定具体的模块参与构建。 mvn -h 查看具体的选项。下面列出几个。
-am,同时构建所列模块的依赖模块。就加当于类加载,如果子类依赖父类,就顺带把父类也给加载了。
-amd,同时构建依赖所列模块的模块。就是如果构建父模块顺带把子模块也一起构建。
-pl,构建指定模块,多个模块之间用逗号分隔。
-rf,从指定模块开始构建,有点像字符串截取,比如有3个模块可以指定只构建后两个,也就是从第二个模块开始构建。

如:mvn clean install -pl module1 -amd -rf module2 其中module1和module2换成实际的模块名称。

本文参考《Maven实战》
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值