pom.xml:
Maven是一个很好用的工具,工具这东东就要有一个配置文件之类的。pom.xml是Maven项目的核心,也可以理解为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工程,它声明了一些namespace,xsd文件等等,这个我们不必太关心。
project内部会有如下几个标签:
modelVersion:POM模型版本,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包的groupId、artifactId和version即可,这三个属性也称作一个项目的基本坐标,也就是说它们的组合对每一个项目来说在整个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的依赖功能已经介绍完了,是不是很方便而且很简单。
相关推荐
Maven是一种强大的、跨平台的项目管理工具,主要用于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目还是大型的企业级应用,Maven都能很好地支持,无论是传统的瀑布式开发模式还是流行的...
在Java开发领域,Maven是一个不可或缺的构建工具,它通过管理项目依赖关系,简化了项目的构建、测试和部署过程。本文将深入探讨如何在Maven项目中引入依赖的包,并结合相关源码和工具,帮助开发者更好地理解和使用这...
每个Maven项目都有一个核心配置文件——`pom.xml`,它定义了项目的元数据,包括项目名称、版本、描述、开发者信息以及项目依赖。在多项目环境中,`pom.xml`文件还负责声明其他子项目或外部库的依赖关系。 二、模块...
在Java世界里,Maven是一个广泛使用的项目管理和综合工具,它可以帮助开发者管理和构建Java项目,通过解决项目的依赖关系,使得代码的编译、测试、打包、部署等过程更加规范和自动化。 【描述】"maven依赖包。还有...
mavenhelper maven"暗示了这个压缩包可能包含了Eclipse的一个插件——Maven Helper,这是一个Eclipse IDE的辅助工具,它可以帮助用户更好地理解和管理Maven项目中的依赖关系,例如显示依赖树、解决依赖冲突、查找未...
本文将深入探讨一个独特的插件——`TomcatPlugin`,它专为Eclipse开发环境设计,特别是在Maven项目中提供自动计算依赖功能。此插件是基于官方最新3.3.1版本进行修改和增强的,旨在简化开发过程,提升调试效率。传统...
4. **依赖管理**:Maven使用传递性依赖管理,如果项目A依赖于项目B,而项目B又依赖于项目C,那么在构建项目A时,Maven会自动下载项目B和C的依赖。 5. **多模块项目**:对于大型项目,Maven支持多模块构建,可以在一...
Maven通过使用一个中心化的配置文件——pom.xml,来定义项目的构建过程和依赖关系。在Seam项目中,我们首先需要在pom.xml中声明Seam的依赖项,包括核心库、相关的模块以及它们的版本。例如,我们需要添加如下的依赖...
Maven使用一种标准的目录结构和一个XML格式的配置文件(pom.xml),使得项目配置和依赖管理变得简单易行。 **JDK 1.7**,即Java SE 7(Java Standard Edition 7),是Oracle公司发布的Java平台的一个重要版本,包含...
首先,我们来理解Spring框架的核心概念——依赖注入(Dependency Injection,简称DI)。Spring通过DI模式,解耦了组件之间的依赖关系,使得组件可以独立地进行单元测试和组装。在Maven构建的Spring工程中,我们会在`...
Nexus是Sonatype公司开发的一款强大的Maven仓库管理器,它可以作为代理仓库,缓存远程仓库的依赖,同时也可以作为宿主仓库,存放团队内部的私有构件。Nexus提供了三种类型的仓库:代理仓库、宿主仓库和集团仓库,...
Maven是一个强大的项目管理工具,尤其在Java开发领域中广泛使用,它简化了项目的构建、依赖管理和项目打包的过程。Maven的核心理念是通过Project Object Model(POM)来描述项目,并利用中央仓库来管理各种依赖。 1...
在给定的标题和描述中,我们了解到的是 Maven 的一个稳定版本——Maven 2.2.1。 ** Maven 的核心概念 ** 1. **项目对象模型 (POM)**:POM 是 Maven 的核心,是一个XML文件,包含了项目的基本信息、依赖、构建目标...
此外,Maven反应堆还支持跨模块的依赖版本管理,即可以通过在父项目的`pom.xml`中定义依赖版本,然后在子项目中直接引用而不必显式指定版本号,这样可以确保所有模块使用的依赖版本保持一致,避免了版本冲突的问题。...
Apache Maven是一个项目管理和综合工具,它可以帮助开发者管理项目构建、报告、依赖关系等。以下是maven的安装步骤: 1. 访问Apache官网(http://maven.apache.org/download.cgi)下载最新版的maven安装包。 2. 解...
【标签】"maven web"表明该项目是一个使用Maven构建的Web应用程序。Maven通过POM(Project Object Model)文件来管理项目,POM中包含了项目的配置信息、依赖关系和构建指令。对于Web项目,Maven会遵循特定的目录结构...
Maven 的主要目标是提供一个统一的构建系统,简化项目的配置,并通过依赖管理和项目信息管理来简化软件开发流程。 在"apache-maven-3.3.9_阿里云仓库"中,我们讨论的是Maven的特定版本——3.3.9。这个版本发布于...
Maven 使用一种标准化的项目对象模型(Project Object Model,POM),使得构建过程、依赖管理、报告生成等任务变得简单且可重用。在本案例中,我们讨论的是 Apache Maven 的特定版本——3.5.0,并且这个版本可以通过...
**正文** Maven是Java开发领域中不可或缺的项目...随着对Maven的深入使用,你会发现它在构建、管理和部署项目方面带来的巨大便利,能够显著提高开发效率,减少维护成本。因此,花时间学习和熟悉Maven是完全值得的。
3. **依赖管理**:Maven 使用中央仓库管理依赖,避免了版本冲突问题。 4. **生命周期与构建阶段**:Maven 的生命周期分为compile、test、package、install和deploy五个主要阶段。 5. **父项目与继承**:多个项目可以...