简介:

Maven是Apache公司的开源项目,是项目构建工具,用来管理依赖。

Maven的优点:

同样的代码实现相同的功能,Maven项目没有Jar包,项目大小更小。

maven的优点如何实现:

没有Jar包,Maven项目如何运行?

maven的两大核心

  • 依赖管理:对jar包管理
  • 项目构建:项目编码完成后,对项目进行编译、测试、打包、部署一系列的操作可通过命令实现。

通过maven命令将web项目发布到tomcat:

$> mvn tomcat:run

maven安装、配置本地仓库

maven程序安装的前提:maven程序由java开发,运行依赖jdk。

maven下载安装

访问Maven官网

maven压缩包解压(路径不要有中文、空格等)

解压后后目录

  • bin目录:可执行脚本命令
  • conf目录:配置文件
  • lib目录:maven程序运行需要的jar包

配置环境变量

在系统变量里新建变量:MAVEN_HOME

变量值为:maven安装的路径

(前提,JDK环境变量为JAVA_HOME)



将MAVEN_HOME配置到Path环境变量中

查看是否配置成功:

打开CMD,输入 mvn -v

仓库类型



配置本地仓库

  1. 找到jar包的压缩包
  2. 解压到本地
  3. 配置本地仓库:使maven程序知道jar包所在

    在maven conf目录中打开settings.xml



    找到localRepository



    如下图添加

  4. 设置阿里云镜像(settings.xml中)
<!--  配置阿里云  -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
  1. 设置默认JDK版本(settings.xml中)
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

maven项目标准目录结构

  • src:项目源代码

    • main:

      • java:主题程序代码
      • resources:项目需要的配置文件
      • webapp:页面素材(页面、css、js、image等)
    • test:
      • java:单元测试类
      • resources
  • target:存放src源码编译后的.class文件,(不属于标准目录结构)
  • pom.xml:maven项目的核心配置文件

maven常用命令

  • mvn clean :清理编译后的目录target ( 使用jar包:mvn-clean-plugin
  • mvn compile:编译,生成target目录 ( 使用jar包:mvn-compiler-plugin
  • mvn test:单元测试,项目根目录src下test目录java都会执行 (前提:单元测试类名必须以Test结尾 如WebTest
  • mvn package:打包,不需要指定打包成什么类型,根据项目自动决定。

    web project --------->打包成war包

    java project --------->打包成jar包

    将项目打包,导出到target目录下。
  • mvn install:安装,解决本地多个项目公用一个jar包,打包到本地仓库

    maven项目的生命周期

    在maven中存在三套生命周期,生命周期互相独立互不影响;在一套生命周期内,执行后面的命令,前面的命令自动执行:

    • cleanLifeCycle:清理生命周期 clean
    • defaultLifeCycle:默认生命周期 compile test package install deploy
    • siteLifeCycle:站点生命周期 site

Maven安装、配置及基础的更多相关文章

  1. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

  2. Maven学习第2期---Maven安装配置

    一.Maven介绍 1.1 何为Maven Maven这个词可以翻译为"知识的积累",也可以翻译为"专家"或"内行".Maven是一个跨平台 ...

  3. Maven安装配置操作

    1)下载maven安装包并解压: 2)环境变量配置: 3)编辑环境变量Path,追加%MAVEN_HOME%\bin; 4)maven安装配置后进行dos命令检查:在cmd中输入 mvn -v 5)配 ...

  4. JeePlus:Maven 安装配置

    ylbtech-JeePlus:Maven 安装配置 1.返回顶部 1. Maven 安装配置 1 Maven 由于Maven依赖Java运行环境,因此使用Maven之前需要配置Java的运行环境.下 ...

  5. Maven安装配置及其插件m2e(Eclipse Indigo 和 MyEclipse8.5)的安装配置

    Maven安装配置及其插件m2e(Eclipse Indigo 和 MyEclipse8.5)的安装配置   系统:Windows7 使用软件: Maven3.0.3 + Eclipse Indigo ...

  6. 第一章 Maven 安装配置

    Maven基于(POM)项目对象模型,通过一小段描述信息来管理项目的构建.文档.和报告的项目管理软件,类似于php 的管理构建工具composer. 有关详细的Maven学习,可以参考学习https: ...

  7. Spring Boot入门样例-001-Java和Maven安装配置

    Spring Boot入门样例-001-Java和Maven安装配置 本文说明Java和Maven在windows下的安装和配置 前言 本Spring Boot入门样例准备工作参考: Spring B ...

  8. maven安装配置

    1.到官网下载maven http://maven.apache.org/download.html 2.解压后解压到任意文件路径 本地解压的位置:C:\soft\apache-maven-3.3.9 ...

  9. maven安装配置(myeclipse)(一)

    欢迎转载:http://www.cnblogs.com/shizhongtao/p/3374130.html 对于我来说,maven主要用于jar包的管理,避免项目中频繁更换jar的版本,以及网上搜索 ...

  10. Jenkins2.32.1+svn+maven安装配置与构建部署

    这两天学习了一下持久化集成工具Jenkins,在自己的本地搭建一个简单的Jenkins环境. 使用环境:Windows64系统,JDK1.8,eclipse,svn(Windows版本VisualSV ...

随机推荐

  1. linux patch中的p0和p1的区别

    命令patch的主要作用是生成diff文件和应用diff文件.举个例子来讲,当发现某个程序出现bug需要打补丁时,patch便是一个好工具. diff文件头: [root@localhost kern ...

  2. Java 中 volatile 关键字及其作用

    引言 作为 Java 初学者,几乎从未使用过 volatile 关键字.但是,在面试过程中,volatile 关键字以及其作用还是经常被面试官问及.这里给各位童靴讲解一下 volatile 关键字的作 ...

  3. 三大主流开源硬件对比:Arduino vs Raspberry Pi vs BeagleBone

    http://www.elecfans.com/emb/361236_3.html 下文摘自上面的链接 软硬件整合是今年一再被提及的话题,如今我们也可以看到不少硬件创业的成功案例,比如Jawbone ...

  4. spring MyBatis的相关面试题

    (相关面试题! 供参考!) 1.ORM框架有哪些? MyBatis:半自动化框架(不是纯ORM) 需要写动态SQL语句,实体类和SQL语句之间建立映射关系 Spring:轻量级框架, Java EE的 ...

  5. Jmeter- 笔记6 - 负载测试

    普通场景介绍 1.线程数:并发用户数 2.Ramp-Up时间:启动时间(线程数的准备时间),在这个时间点结束时,所有用户都已运行起来 3.循环次数:每个线程数都要运行的次数.永远 和 调度器一起使用, ...

  6. Eclipse从SVN中检出项目缺少Jar包的问题

    Eclipse从SVN中检出项目缺少Jar包的问题

  7. CVPR2020论文解析:视觉算法加速

    CVPR2020论文解析:视觉算法加速 GPU-Accelerated Mobile Multi-view Style Transfer 论文链接:https://arxiv.org/pdf/2003 ...

  8. 台积电5nm光刻技术

    台积电5nm光刻技术 在IEEE IEDM会议上,台积电发表了一篇论文,概述了其5nm工艺的初步成果.对于目前使用N7或N7P工艺的客户来说,下一步将会采用此工艺,因为这两种工艺共享了一些设计规则.新 ...

  9. 旷视MegEngine数据加载与处理

    旷视MegEngine数据加载与处理 在网络训练与测试中,数据的加载和预处理往往会耗费大量的精力. MegEngine 提供了一系列接口来规范化这些处理工作. 利用 Dataset 封装一个数据集 数 ...

  10. Java重载方法如何竞争

    突然想起以前遇到的一道笔试题,题目大概是这样子的 // 父类 public class Father { } // 子类 public class Son extends Father { } // ...