`

Maven使用(一)—— 依赖管理

阅读更多

pom.xml:

Maven是一个很好用的工具,工具这东东就要有一个配置文件之类的。pom.xmlMaven项目的核心,也可以理解为Maven在一个项目中配置文件。当我们新建一个Maven工程的时候,生成的pom.xml文件大概是这个样子:

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.rabbit.blog</groupId>
  <artifactId>springdemo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>

 

project是所有pom.xml的更元素,说明这是一个Maven工程,它声明了一些namespacexsd文件等等,这个我们不必太关心。

 

project内部会有如下几个标签:

modelVersionPOM模型版本,Maven3只能是4.0.0

groupId:组名,类似Java包名定义规范中说的那个前缀(公司.项目)。

artifactId:当前项目在组中的唯一Id

version:版本号,这个很容易理解,而有些版本后边接-SNAPSHOT说明是开发版本。

 

现在我们就可以通过m2eclipse或者编写XML的方式向我们的项目中添加所需的jar包了。

 

在新建Maven工程的时候,最后一步就是添加工程的jar,当然,我们可以忽略这个步骤,在工程建好之后或者要使用的时候再添加jar包:

 

我们可以在工程上右键,选择Maven>Add Dependency

 
然后搜索想要的jar

 

 

添加成功,我们可以再看一下pom.xml文件,这时候我们发现文件中多了类似如下的内容:

<dependencies>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>3.2.2.RELEASE</version>
  	</dependency>
</dependencies>

 

这里的dependencies标签表明项目依赖的开始,其中可以有多个dependency标签,dependency中只要指定jar包的groupIdartifactIdversion即可,这三个属性也称作一个项目的基本坐标,也就是说它们的组合对每一个项目来说在整个Maven库中必须是唯一的。

 

而在项目的Maven Dependencies下依赖到我们新加入的jar包。当然,有时候你会发现加入的jar包多于你依赖的,其实这是Maven帮你将你所添加的jar包依赖的所有jar包全部引入了,是不是很方便。我们可以通过Maven Pom Editor打开pom.xml文件,在Dependency Hierarchy下就可以清楚的看到jar包的依赖情况:

 

 

当然我们也可以手写pom文件,有时反而效率更高,比如像Spring所依赖的jar包就比较多,很多jar包只是artifactId有所不同,完全可以通过手写的方式进行依赖添加。

 

对于version,像Spring这种需要jar包很多并且版本很多的框架来说,所有jar包版本统一应该是一个基本的需求,那对于这种统一的属性值我们就可以提出成为一个变量,这样也方便统一管理和修改。我们在dependencies标签之上再加入如下内容

 

  <properties>
  	<spring.version>3.2.2.RELEASE</spring.version>
  </properties>

 

然后将依赖中的version替换成变量的形式:

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
</dependency>

 

Ok,现在Maven的依赖功能已经介绍完了,是不是很方便而且很简单。

  • 大小: 24.6 KB
  • 大小: 42.4 KB
  • 大小: 41.7 KB
  • 大小: 28.3 KB
  • 大小: 27.2 KB
分享到:
评论

相关推荐

    Maven传递依赖和依赖的规则.docx

    传递依赖 当存在传递依赖的情况时,主工程对间接依赖的jar可以访问吗?...这要看传递依赖的jar包引入时的依赖范围——只有依赖范围为compile时可以访问 即 要使A.jar 依赖于C.jar 当且仅当C.jar的范围是compile

    apache maven入门教程

    它提供了比ANT更强大的管理功能,可以使用命令行工具来生成一个新的项目,管理已存在项目中的相关依赖JAR文件。关于更多MAVEN相关介绍,请参考官网http://maven.apache.org/ 在网上搜索发现众多开源团队中有一个国内...

    Maven3实战笔记05仓库依赖解析与插件解析

    Maven3实战笔记05——仓库依赖解析与插件解析。

    《Maven 实战》.zip

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    Maven实战 高清版

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    《Maven实战》

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    Maven实战.pdf

    Maven——这一 Java 社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建...

    Maven实战

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    Maven实战(中文)

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    Maven实战 经典电子版

    Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目...

    mysql5.7相关依赖

    Ubuntu16.04 deb安装 mysql 5.7.25(无网络情况)。 文章介绍:... 没有积分可以这里查询依赖包然后下载—— 依赖包查询地址:https://pkgs.org/ (在搜索框中搜索所需要的deb包)

    m2e-android.zip

    Android Configurator 是一个 Eclipse 的 Maven 集成插件——m2e 的插件,用于支持 Android Developer Tools (ADT) 和 Maven Android Plugin. 为 ADT 提供 Maven 强大的依赖管理。 标签:m2eandroid

    Maven课件操作演示笔记以及上课课件.zip

    ⑤在子工程中找到被父工程管理的依赖信息,删除版本号部分 ⑥在父工程中统一修改已管理的依赖信息的版本号,看是否能够控制所有子工程 第三个Maven工程 ①设置通过Maven创建的工程的JDK版本——一劳永逸

    maven细节操作.docx

    maven是一个比较成熟 java项目的管理工具,主要用来构建项目,依赖管理,项目的打包,测试.深度了解

    Maven指南阅读笔记

    构建的groupId和artifactId已经更改了,而当前的项目需要一个与...一般来说Maven会捕捉到这种冲突并且使用该项目的一个单独的版本,但是 当artifactId和artifactId不一样的时候,Maven就会认为它们是两种不同的类 库。

    Maven 2 学习笔记.txt

    simple/ Maven Archtype插件创建了一个与artifactId匹配的目录——simple。这是项目的基础目录。 simple/pom.xml 每个项目在文件pom.xml里有它的项目对象模型 (POM)。这个文件描述了这个项目,配置了插件,...

    Springboot源码流程图

    例如想在spring中使用redis,只需要在项目中包含 spring-boot-starter-redis 依赖就可以使用了,所有的starters遵循一个相似的命名模式:spring-boot-starter-,在这里是一种特殊类型的应用程序。该命名结构可以帮你...

    Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务 - ImportNew1

    第二步:编写 WS 接口及其实现 第四步:部署应用并启动 Tomcat 第一步:配置 Maven 依赖 第二步:写一个 WS 接口及其实现

    电商基础秒杀项目-springboot开发

    电商基础秒杀项目——springboot开发 项目环境:IDEA,maven,MySQL5.x * 项目运行方式:从IDEA导入项目,更新maven依赖,然后在MySQL数据库中运行miaosha.sql文件生成数据库。 * 项目入口为:...

    Android依赖库,Androidx-lite-lib依赖库的Kotlin版.zip

    其基础编译器(他们将其改为kompiler——开创了一系列以K字打头的用语——甚至连 contributors这类词他们也用改成了kontributors)可以被独立出来并嵌入到 Maven、Ant 或 Gradle 工具链中。这使得在 IDE 中开发的...

Global site tag (gtag.js) - Google Analytics