java项目管理工具——Maven

Maven可以解决的问题

在开发中经常需要依赖第三方的包,包与包之间存在的依赖关系,版本间的兼容性问题,有时还需要将旧的jar包升级成新的版本,稍微一想就知道开发人员要花费多少精力解决这些问题。

Maven的作用

  • 统一开发规范和工具
  • 统一管理jar包

Maven项目管理工具(依赖管理)

1、POM工程对象模型

Pom.xml是Maven工程的核心配置文件,可以通过一小段描述信息来管理项目的构建。

项目的配置信息,创建项目时填写,自动生成

<!-- 项目所在组,一般是阻止或公司 -->
  <groupId>cn.sdut</groupId>
  <!-- 当前项目在组中的唯一ID -->
  <artifactId>maven</artifactId>
  <!-- 表示版本,SNAPSHOT表示快照,表示此项目还在开发中,不稳定 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 打包类型 -->
  <packaging>jar</packaging>

maven使用groupId,artifactId,version三个元素,唯一的标识这个项目。

  • grounpId:项目所在组,一般是组织或者公司(groupId 和实际项目不一定是一一对应的)
  • artifactId:当前项目在组中的唯一id
  • version:版本

Dependency  配置依赖

我们在dependency里用groupId,artifactId,version三个元素来管理我们需要用到的jar包,填好后保存即可自动下载。

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

依赖范围 scope

  • compile:编译,测试,运行都有效,默认的选择
  • test:测试有效,例如junit
  • provided:编译,测试有效,例如servlet,运行时容器会提供实现
  • runtime:运行和测试有效,例如jdbc,编译时只需相应的接口,测试和运行时才需要具体的实现
  • system:编译,测试有效。例如本地的,Maven仓库之外的类库文件。

Maven仓库(Repository)

  • 公用仓库也叫中央仓库,由Maven社区提供和管理的,里面包含了大量的常用类库。
  • 本地仓库,用来存储下载下来的jar包的路径,一般%user_home%/.m2/repository路径下。
  • 内部远程仓库/内部中心仓库,使用本公司搭建的一个类似于中央仓库的一个仓库,仅限于公司内部人员使用。
  • 项目配置的依赖首先去中央仓库找,找到了就自动下载到本地仓库,项目就可以自动使用。如果中央仓库没有,本地仓库也没用,则项目会停止构建,抛出错误信息到控制台,为了避免这种异常,Maven提供了内部远程仓库的配置。

 

参考:https://www.cnblogs.com/best/p/9676515.html#_label0

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章