Java教程:Maven是什么?Maven能用来做什么?

createh54个月前 (12-30)技术教程77

Maven是Apache旗下的一个开源项目,是一个项目管理和构建工具,它基于项目对象模型(Project Object Model , 简 称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。掌握Maven可以进行一些简单的依赖管理、 统一项目结构、 项目构建,下面做详细介绍。

依赖管理:

方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题。若没有通过maven进行大型项目的依赖管理,我们在开发项目时,需要引入大量的jar包。那么此时,jar包和jar包之间很多时候是需要版本匹配的,如果版本不匹配,此时很容易出现版本冲突问题。

当使用maven进行项目依赖(jar包)管理,则很方便的可以解决这个问题。 我们只需要在maven项目的pom.xml文件中,添加一段如下图所示的配置即可实现。

Bash
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.13.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.4</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>com.github.oshi</groupId>
    <artifactId>oshi-core</artifactId
    <version>5.6.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

统一项目结构 :

提供标准、统一的项目结构 在项目开发中,当你使用不同的开发工具 (如:Eclipse、Idea),创建项目工程时:

若我们创建的是一个maven工程,是可以帮我们自动生成统一、标准的项目目录结构:

具体的统一结构如下:

Bash
目录说明: 
src/main/java: java源代码目录 
src/main/resources: 配置文件信息 
src/test/java: 测试代码 
src/test/resources: 测试配置文件信息

项目构建 :

maven提供了标准的、跨平台(Linux、Windows、MacOS) 的自动化项目构建方式

如上图所示我们开发了一套系统,代码需要进行编译、测试、打包、发布,这些操作如果需要反复进行就显得特别麻烦,而Maven提供了一套简单的命令来完成项目构建。

综上所述,可以得到一个结论:Maven是一款管理和构建java项目的工具。

相关文章

Java类是如何加载的?(java加载类的三种方式)

这个问题还是很有意思,今天松哥来尝试和大伙梳理一下。一 整体思路整体上来说,类的加载主要是下面这几个步骤:上面这张图就是一个类的完整生命周期了,一共要经历加载(Loading)、验证(Verifica...

Java学习目录(thinking in java目录)

一、Java基础Java基础-继承Java基础-抽象Java基础-接口Java基础-多态Java基础-重写Java基础-匿名对象Java基础-内部类Java基础-final、static关键字Java...

java从jar包中读取资源文件(读取jar包内文件)

由于特别情况,我们通常需要读取jar中的资源;本文只要记录读取资源并通过jar方式运行和在开发IDE中运行的一致性。常规使用#常规使用 - 绝对路径常规使用 - 项目的相对路径取的是当前项目的根目录下...

Java遍历目录文件,一个while循环即可

直奔主题,看代码实现public static void main(String[] args) { File dir = new File("/home/user"); /...

Java集合-Properties(Java集合框架)

Properties(java.util.Properties)类,跟Map的key和value都为String类型比较相似,Properties类可以将 c key和 value键值对写道磁盘的pr...

Java路径-13-Java的Character类(java character)

1 概述Java中的Character类是一个包装类,Java语言为内置数据类型char提供了包装类Character类。Character 类用于对单个字符进行操作。Character 类在对象中包...