做项目时使用maven构建项目已经是现在的流行做法了。

那么maven的作用是什么呢?

maven中的几个常用的命令都有什么用?下面我们来看一下。

maven最大的作用就是用于对项目中jar包依赖的统一管理。

通常项目中如果不使用maven的话,项目中用到的jar包需要自己下载,然后放到项目的lib目录,比较麻烦。

如果使用maven构建项目,项目中就会有有一个pom文件,该pom文件的作用就是对项目中的所有jar包依赖进行统一管理,如果想要使用哪个依赖只需要在pom文件中引入相关的依赖就可以,然后maven就会自动从远程仓库下载jar包到本地仓库。如果一下项目中需要引入另一个项目的包,也可以由maven打包加入该项目的依赖。

使用maven仓库的话需要从网上下载maven的包,比如“apache-maven-3.5.4-bin.tar”,下载完成之后解压,在解压的文件夹中的conf目录下的settings.xml文件夹下就可以配置maven远程仓库和本地仓库的地址。配置了远程仓库的地址之后就可以从远程仓库下载jar包到本地仓库了。

默认的远程仓库地址是国外的镜像,下载jar包的话比较慢,可以使用国内镜像提高下载效率。

//国内镜像
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

本地仓库的地址也可以在settings.xml文件中配置。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

默认的本地仓库地址是${user.home}/.m2/repository,如果是mac电脑的话默认地址就是/Users/本机用户名/.m2。也可以修改本地仓库地址为其他的地址。

远程仓库和本地仓库配置好了,怎么在项目中使用maven呢?以Intellij IDEA为例。

首先新建项目的时候要构建成maven项目。如果是导入项目导入的类型也可以选择是maven项目,或者先倒入,等其他的都配置好了再把项目转成maven项目。

然后配置maven,打开Intellij IDEA的Preferences。

点击Build,Execution,Deployment中的maven,就可以对项目中使用到的maven进行配置。

其中主要有三项需要配置。

  • Maven home direcroty:地址是下载的解压之后的maven压缩包。
  • User settings file:setting.xml所在的位置,通常是上面的Maven home direcroty的子目录。
  • Local repository:本地仓库的地址。

也可以在新建maven项目的时候在项目配置中配置这些东西。

配置好了之后项目中就可以使用maven了。

以前没有使用maven的时候项目之间的jar包都是独立的,两个项目之间即使有重复的jar包也不能实现复用,有了maven之后,多个项目可以共享同一个本地仓库,所有的项目的jar包都依赖同一个本地仓库,需要哪些依赖直接通过pom.xml指定就可以从中央仓库下载了,方便又实用。

除此之外,maven还有一些常用的命令,更加方便项目的管理。

下面介绍一些常用的命令及其作用

(1)maven clean

对项目进行清理,清理的过程中会删除删除target目录下编译的内容。

(2)maven compile

编译项目源代码。

(3)maven test

对项目的运行测试。

(4)maven packet

可以打包后的文件存放到项目的 target 目录下,打包好的文件通常都是编译后生成的class文件。

(4)maven install

在本地仓库生成仓库的安装包可以供其他项目引用,同时打包后的文件存放到项目的 target 目录下。

对项目打包有三种打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中进行指定。

pom工程一般是聚合工程,代表父工程,负责管理jar包的版本、maven插件的版本等,主要做统一的依赖管理。

jar包就是普通的打包方式,可以是pom工程的子工程。

war包的都是web工程,是可以直接放到tomcat下运行的工程。

打成pom包和jar包的工程在新建的时候可以不需要制定maven项目的原型,达成war包的项目需要制定maven项目原型,指定的原型通常为maven-archetype-webapp,代表web项目。

其中最常用的就是maven clean和maven install。

maven在项目中还是很有用的。关于maven的基本用法就介绍到这里。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持Devmax。

关于maven的用法和几个常用的命令的更多相关文章

  1. maven配置阿里云仓库的实现方法

    本文主要介绍了maven配置阿里云仓库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. 关于Maven混合配置私有仓库和公共仓库的问题

    这篇文章主要介绍了Maven混合配置私有仓库和公共仓库,通过实例代码详细介绍了私有和公共仓库混合配置的方法,需要的朋友可以参考下

  3. 关于maven:pom文件的使用解析

    这篇文章主要介绍了关于maven:pom文件的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  4. Maven实现项目构建工具

    本文主要介绍了Maven实现项目构建工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. IDEA2022创建Maven Web项目教程(图文)

    本文主要介绍了IDEA2022创建Maven Web项目教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  6. Maven之导入thymeleaf依赖飘红问题及解决

    这篇文章主要介绍了Maven之导入thymeleaf依赖飘红问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. 关于maven使用过程中无法导入依赖的一些总结

    这篇文章主要介绍了关于maven使用过程中无法导入依赖的一些总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  8. Intellij IDEA根据maven依赖名查找它是哪个pom.xml引入的(图文详解)

    这篇文章主要介绍了Intellij IDEA根据maven依赖名查找它是哪个pom.xml引入的,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. Java Maven依赖传递,可选依赖,排除依赖详解

    这篇文章主要介绍了Java Maven依赖传递,可选依赖,排除依赖详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  10. Maven依赖管理之parent与dependencyManagement深入分析

    首先我们来说说parent标签,其实这个不难解释,就是父的意思,pom也有继承的。比方说我现在有A,B,C,A是B,C的父级。现在就是有一个情况B,C其实有很多jar都是共同的,其实是可以放在父项目里面,这样,让B,C都继承A就方便管理了

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部