maven基础

 这两天被一个web项目的bug弄得头疼,今天快下班才明白是maven的原因,于是又重新去看maven的视频和文章,就决定记录一下,免得又忘记了。这篇文章里,仅仅是maven各种常见的操作,及eclipse中maven插件的使用,至于它的便利性及实用性意义,还需要以后在项目中慢慢体会。

  1、maven的常用配置及命令:

  • modelVersion:POM版本模型,固定为4.0.0
  • groupId:一般指某个公司或者某个组织的某个项目,比如org.springframe
  • artifactId:一般指某个具体项目的某个模块,比如spring-context(名称)
  • version:项目版本
  • mvn compile:编译源代码。生成class文件位于生成的target目录下,在eclipse中都是自动编译了,就使用得少了。
  • mvn clean:清空。target目录被清理了
  • mvn test:测试。根据maven的目录结构放置,需要加入junit包
  • mvn package:打包。将项目生成jar/war包,位于target目录下,项目名有artifactId和version组成
  • mvn install:将项目安装到本地仓库中。当项目较大分为多个模块时,安装到本地仓库后方便其他项目直接使用
   其中,groupId、artifactId、version构成了项目模块的坐标,可以直接被其他项目进行依赖。

     2、maven的依赖特性:

依赖的传递性:A-->B-->C,则项目A中添加所依赖的Bjar包后,会自动下载Cjar包。

        依赖选择,最短路径原则:当有A-->B-->C-->X(P1)和A-->D-->X(P2),参考最短路径原则,只会下载第二个,不然会有冲突。

   如果路径一样,最先申明原则:当有A-->B-->X(P3)和A-->D-->X(P4),参考最先申明原则,只会下载第一个。

     3、maven聚合与继承:

     4、maven依赖范围

    Scope 选项如下:
     compile: 编译依赖范围。默认就是 compile 。在编译,测试,运行都有效;
     test :测试依赖范围。仅测试有效; 例如 JUnit
     provided :已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api,发布到tomcat目录下运行时就需要配 provided,不然会与tomcat自身带的jar包冲突
     system :系统依赖范围。(了解即可)使用 system 范围的依赖必须通过 systemPath 指定依赖文件的
     import :导入依赖范围。(了解即可)使用 dependencyManagement 时候,可以导入依赖配置。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值