javaweb之Maven项目管理工具学习

其实在真实的项目中我就已经在用maven了,今天决心整体系统的学习一遍maven。

maven是什么:maven翻译过来是内行、专家的意思。maven是跨平台开发的项目管理工具。主要服务于局域java平台的项目构建,依赖管理和项目信息管理。

为什么学习maven:maven相对于以前的ant,Eclipse ide,拥有统一的约定,有明确的目录结构,统一管理代码,拥有生命周期,构建过程自动化:如编译,测试,打包部署均可以自动化。

maven安装配置:略。

maven核心概念:项目对象模型pom:maven统一管理的配置文件pom.xml;

坐标:›groupId:定义当前Maven项目隶属项目,

    ›artifactId:定义实际项目中的一个模块,
            ›version:定义当前项目的当前版本,
    packaging:定义该项目的打包方式;
依赖管理:依赖声明主要包含如下元素:
<span style="white-space:pre">							</span><dependencies>
		                                             <dependency>
			                                     <span style="white-space:pre">	</span><groupId>junit</groupId>
			                                    <span style="white-space:pre">	</span> <artifactId>junit</artifactId>
			                                    <span style="white-space:pre">	</span> <version>4.10</version>
			                                    <span style="white-space:pre">	</span> <scope>test</scope>
		                                            </dependency>	
	                                               </dependencies>

  其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系. 主要的 是三种依赖关系如下:
1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效,
2.test:测试依赖范围。只对于测试classpath有效,
3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无 效。因为由容器已经提供,例如servlet-api,
4.runtime:运行时提供。例如:jdbc驱动;
依赖的最后要注意的一点:传递性依赖原则: 一、路径最近者优先  二、路径相 同,第一声明者优先(注意1.dependencyManagement中定义的依赖子module不 会共享2.dependencies中定义的依赖子module可以共享)  三、可选依赖不被传递   四、依赖优化:mvn dependency:list。
maven仓库:本地仓库和远程仓库;
maven生命周期:对项目的所有的构建过程进行抽象和统一;maven的三大生命周期:clean, default,site;
    maven聚合与继承:当一次性构建多个项目模块的时候,就需要对这些模块进行聚合,<modules> <module>.....</module></modules>;而继承是为了消除重复,把很多相同的配置提 取出来。
maven私服:略。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值