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

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

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

依赖管理:

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

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

<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工程,是可以帮我们自动生成统一、标准的项目目录结构:

具体的统一结构如下:

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

项目构建 :

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

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

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

相关文章

Java路径-34-Java的LinkedList(java里面linkedlist)

1 LinkedList的概念LinkedList本质上是一个双向链表。那么什么是链表呢?链表原先是C/C++的概念,是一种线性的存储结构,意思是将要存储的数据存在一个存储单元里面,这个存储单元里面除...

Java性能测试利器:JMH入门与实践|得物技术

在软件开发中,性能测试是不可或缺的一环。但是编写基准测试来正确衡量大型应用程序的一小部分的性能却又非常困难。当基准测试单独执行组件时,JVM或底层硬件可能会对您的组件应用许多优化。当组件作为大型应用程...

在Java程序中监听mysql的binlog(java监听mysql数据表变化)

1、背景最近在开发的过程中遇到这么一个问题,当产生某种类型的工单后,需要实时通知到另外的系统,由另外的系统进行数据的研判操作。 由于某种原因, 像向消息队列中推送工单消息、或直接调用另外系统的接口、或...

这才是Java基础知识点的总结(java基础总结大全)

前言本文主要是我之前复习Java基础原理过程中写的Java基础学习总结。Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其底层...

Java的绝对路径和相对路径(java的绝对路径和相对路径的区别)

这里要区分的是目录路径如: /opt/deve/tomcat/bin c:\deve\tomcat\bin都是绝对目录路径binbin/databin\data都是相对目录路径通过观察,发现规律以/开...