---恢复内容开始---

首先明白maven是什么,

maven是一个自动化构建工具,可以将你一个项目的html,java,css,js等代码构建成一个可发布的产品,相当于就是将你从写完代码到部署完成之间的操作全部帮你做了。那它有哪些作用呢?

1.增加第三方jar,并且如果增加的一个jar和另一个之间有依赖关系的话,会自动帮我们把另一个jar也增加

2.如果你的项目有很多模块,比如service,dao等,那么他会帮你把这几个模块项目整合成一个项目

具体做了哪些事情?

清理:删除编译的结果,为从新编译做准备

编译:.java-.class文件

测试:针对项目关键点进行测试,

报告:生成测试报告

打包:将项目的多个文件压缩成一个文件,便于进行安装和部署

安装:将包放到本地仓库当中,本地仓库就是你自己电脑的一个仓库,里面的东西其他项目都可以用

部署:上传包到服务器,这里的部署的意思就是说将项目打包成服务器所规定的的目录结构,上传到服务器响应的目录下,比如tomcat服务器,如果想要部署的话,两种方法:

1,,通过intellij之中的add and remove按钮进行部署

2.将web项目打包成tomcat执行的目录结构,一个war包,之后复制到tomcat/webapps 目录下

如题,上面这些动作都是maven可以帮我们做的事情

接下来是使用,

首先下载配置环境变量,并修改conf.xml的本地仓库位置,网上一搜一大把

1.maven的目录结构和一般框架差不多,main放源代码,test测试代码,rescourse配置文件,图片,js等

2.maven本地仓库里面有很多项目和jar,那么怎么唯一定位这些项目呢?在pom.xml里面

<groupId>域名反转.大的项目名</groupId>
<artifactId>项目名</artifactId>
<version>1.0-SNAPSHOT</version>
gav来定位唯一的项目坐标,

3.配置所需的jar,pom.xml文件当中配置

    <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>

4.在命令行进入指定maven项目,和pom.xml同一个目录下, cmd执行 mvn compile ,即可从中央仓库下载到jar包以及其依赖的包,并存入本地仓库当中

5.我这里使用intellij创建的maven目录,所以在setting-maven之下将maven目录配置为自己下载的maven,并修改setting.xml文件位置

下面记录一些maven的常见命令:

注:第一次执行都会会下载一些基础环境,

mvn compile:只编译main目录里面的文件

mvn  test:译测试的源码

mvn package: 打包成jar/war,放到target目录下,生命周期长,执行之前会将前面的命令都执行一遍

mvn install:将你的项目,模块,放入本地仓库当中,目录是由项目的唯一标识gav决定的

												

(一)maven基本配置,概念,常用命令的更多相关文章

  1. maven一键构造及常用命令

    maven一键构造及常用命令 1.maven的一键构建 我们不再使用本地的Tomcat对项目进行编译.测试.运行.打包.安装.部署等一系列过程,而是使用maven自身集成的Tomcat插件来完成这些操 ...

  2. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

  3. 回顾:maven配置和常用命令整理

    推荐两个库地址,开源中国的好像不好使了 阿里的仓库:http://maven.aliyun.com/nexus/content/groups/public/ 另一个:http://repo2.mave ...

  4. (五)Maven目录结构及常用命令说明

    前面提到的部分知识有涉及到Maven目录结构与Maven常用的一些命令,在这里专门给大家做个简单的介绍. 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行 ...

  5. JAVA记录-maven JDK配置和常用操作

    1.pom.xml加入(JDK编译器配置) <build> <finalName>项目名</finalName> <plugins> <plugi ...

  6. 【入门】Gradle的基本使用、在IDEA中的配置、常用命令

    一.介绍 java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说: 1. ant 功能虽然也很强 ...

  7. maven安装配置参数化打包命令

    Maven使用 maven的配置文件看似很复杂,其实只需要根据项目的实际背景,设置个别的几个配置项而已.maven有自己的一套默认配置,使用者除非必要,并不需要去修改那些约定内容.这就是所谓的“约定优 ...

  8. Maven 教程(5)— Maven目录结构及常用命令说明

    原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79543159 1.Maven目录结构说明 Maven总体目录结构如下图: bin ...

  9. Maven环境搭建及常用命令、生命周期

    一.下载maven包,解压 二.配置环境变量,MAVEN_PATH=解压路径 添加到path中 三.测试  mvn -v 查看maven版本 四.设置本地仓库的路径 在conf文件夹下的setting ...

  10. supervisor 安装、配置、常用命令

    前言 在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常.报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务. 所以,就需要一个工具,时刻监控 web ...

随机推荐

  1. 通过httpClient设置代理Ip

    背景: 我们有个车管系统,需要定期的去查询车辆的违章,之前一直是调第三方接口去查,后面发现数据不准确(和深圳交警查的对不上),问题比较多.于是想干脆直接从深圳交警上查,那不就不会出问题了吗,但是问题又 ...

  2. 最强常用开发库总结 - JSON库详解

    最强常用开发库总结 - JSON库详解 JSON应用非常广泛,对于Java常用的JSON库要完全掌握.@pdai JSON简介 JSON是什么 JSON 指的是 JavaScript 对象表示法(Ja ...

  3. 论Java中的抽象类与接口

    目录 抽象类和抽象方法 定义 与普通类的区别以及注意点: 抽象类的作用 接口 定义 示例 注意 作用 最后:接口与抽象类的异同 使用场景 借鉴 抽象类和抽象方法 定义 抽象方法和抽象类都必须被abst ...

  4. 你知道Java中的CopyOnWriteArrayList吗?

    CopyOnWrite CopyOnWrite是什么? CopyOnWriteArrayList源码分享? CopyOnWriteArrayList使用场景? CopyOnWriteArrayList ...

  5. Java知识体系框架

    前言:自从出生,每个人都是一个学习者或探索者.永远保持一颗谦逊的心态,遵循一定的方法和规范,去学习和实践,永远记得走走停停,多回头看看自己走过的路,温故而知新,也能更好地指导未来的路怎么走(同样,本篇 ...

  6. arima.predict()参数选择以及相关的一些问题

    在使用a ri ma进行模型建立时,需要注意以下几点 1.参数选择上predict必须起始时间在原始的数据及当中的,在下例中就是说2017必须在数据集里面,而2019不受限制,只哟在2017后面就好了 ...

  7. Nhibernate的Session和StatelessSession性能比较

    Nhibernate的Session和StatelessSession性能比较 作者:Jesai 一个月入30K的大神有一天跟我说:我当年在你现在这个阶段,还在吊儿郎当呢!所以你努力吧! 有时候,一个 ...

  8. 异数OS 织梦师-水桶(三)-- RAM共享存储方案

    . 异数OS 织梦师-水桶(三)– RAM共享存储方案 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455 ...

  9. windows10卸载虚拟机忘记按照步骤卸载的实际问题

    好久没有写博客了,由于太多事情,工作需要用到虚拟机,结果,虚拟机出问题,,,怎么办???我的办法就是卸载了重新安装一个,结果呢?太心急没有按照不知操作,今天弄了一下午,终于弄好了... 错误原因,用了 ...

  10. Java多态之Father f=new Son();

    成员变量静态方法看左边,非静态方法编译看左边,运行看右边. 左边Father f其实是定义了一个Father类的对象,而右边new Son()可以只理解为是一个重写了Father类方法的对象. 因此, ...