Maven的简介

什么是maven

是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的

Maven好处

普通的传统项目

maven项目

分析:maven项目为什么这么小?没有jar。 需要jar吗?肯定需要。没有存在于maven项目里面,jar存在于哪?

依赖管理

1.1     项目一键构建

编码  编译  测试(junit)  运行  打包  部署

一个 tomcat:run就能把项目运行起来

Maven能干的事:

编译  测试(junit)  运行  打包  部署

运行

maven tomcat:run

1.1     小结:

Maven的好处:

1.1.1  依赖管理

就是对jar包的统一管理  可以节省空间

1.1.2  一键构建

1.1.3  可以跨平台

1.1.4  应用于大型项目 可以提高开发效率

分析:

用户管理    订单管理   支付管理   。。。。。

Maven的分模块开发

互联网项目 按业务分

传统项目   按层分 entity  dao  service  web

1       Maven的安装配置

1.1     下载安装

1.1     Maven环境变量配置

1、  要配置jdk,  maven3.3.9这个版本所需的jdk版本必须要1.7以上

2、  最终要运行的是maven软件中bin目录的mvn命令

所以要配置maven的环境变量

在系统变量添加

环境变量的名称:MAVEN_HOME

变量值:就是maven软甲解压的目录F:\class32\apache-maven-3.3.9

1.1     Maven仓库

三种仓库

1、本地仓库 自己维护

本地仓库的配置只需要修改settings.xml文件就可以

远程仓库(私服) 公司维护

3、中央仓库 maven团队维护     两个亿jar包 2015

三种仓库的关系如下:

1       演示入门程序

1.1     Maven的目录结构

之前放src目录下的xml Properties文件 现在都放在 main/resources目录下

1.1     Maven的常用命令

Clean   清理编译的文件   清理目录下编译好的文件

编译

Test  编译并运行了test目录的代码

Install 就是把项目发布到本地仓库

Tomcat:run  一键启动

Compile   test(执行包括compile命令)  package  install (执行包括前三个命令)

1.1     Maven的生命周期(了解)

执行一个命令的时候,把其他命令也执行了

Compile   test  package  install  deploy(发布到私服)

包括三种生命周期

1Clean生命周期

  Clean

2Default生命周期

Compile   test  package  install  deploy

3Site生命周期

maven  site    在target/site 页面产生html文件   工程项目说明文件   生成站点 对项目进行描述  用到不多

命令和生命周期的阶段的关系

不同的生命周期的命令可以同时执行

Mvn clean package

mvn compile package  能执行  但是没必要

1       项目构建

M2e插件的安装

maven在eclipse mar2 版本中已经支持   2个地方需要修改配置

项目构建

1、  新建maven项目

调过骨架,如果不跳过骨架选择创建出的项目目录是不全的

项目构建

M2e插件的安装

Maven在eclipse的配置

1、选择3.3.9版本的maven软件

调过骨架,如果不跳过骨架选择创建出的项目目录是不全的

1、  填写坐标

处理红色叉号

手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件

处理编译版本

在pom.xml中添加如下代码

<build>
<!-- 配置了很多插件 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

创建一个servlet

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency> </dependencies>

pom.xml

启动项目

右击项目---run as –maven build …

maven(一)的更多相关文章

  1. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  2. 理解Maven中的SNAPSHOT版本和正式版本

    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...

  3. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  4. 安装eclipse的maven插件

    我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...

  5. MAVEN学习-第一个Maven项目的构建

    MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...

  6. Maven 代理设置

    在maven的安装目录下 %MAVEN_HOME%/conf/setting.xml 中进行设置 <proxies>    <!-- proxy     | Specificatio ...

  7. spring maven pom.xml设置

    spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  8. maven依赖查询地址

    http://search.maven.org/#search%7Cga%7C1%7C

  9. maven 中snapshot版本和release版本的区别

    maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本.定义一个组件/模 ...

  10. Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题

    现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...

随机推荐

  1. 使用markdown第一个博客

    markdown,I coming ! System.out.println("I m coming");

  2. JavaScript操作BOM对象

    1)windows对象 浏览器对象模型(BOM :Browser  Object  Model)是JavaScript的组成之一,它提供了独立于内容与浏览 器窗口进行交互的对象,使用浏览器对象模型可以 ...

  3. nio的简单学习

    参考链接: http://www.iteye.com/magazines/132-Java-NIO https://www.cnblogs.com/xiaoxi/p/6576588.html http ...

  4. ChinaCock界面控件介绍-TCCYearMonthSelector

    Delphi原生控件支持日期的选择,但对于只选择年月的情况,则没有好的实现.TCCYearMonthSelector正是为解决这个问题而产生的.看看运行效果图: 用法一如即往的简单,这是一个不可视控件 ...

  5. IONIC和Cordova安装、打包踩过的坑

    1.问题1:直接执行npm install -g cordova ionic,因为网络原因,执行不成功 解决方案:将npm映射到淘宝服务器:npm install -g cnpm --registry ...

  6. 2019-03-11-day008-函数帮助

    [ i for i in dir(set) if not i.startswith('_') ] 查看数据类型的方法   

  7. microsoft office如何在菜单里显示“开发工具”

    VBA开发教程: https://www.yiibai.com/vba/vba_excel_macros.html msdn:https://docs.microsoft.com/zh-cn/offi ...

  8. MySQL数据库优化的方式

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  9. NEO VM原理及其实现(转载)

    NEO Vm原理及其实现 简介及与evm主要区别 neo vm和evm类似.底层都实现了一套opcode以及对应的执行器,opcode设计差距蛮大的,总体上来说evm的更加简洁,neo vm的功能更加 ...

  10. Ubuntu 12.04不能在華碩F81se系列電腦上安裝解决辦法

    本人華碩F81se系列的電腦,剛開始是裝的ubuntu 10.04的系統,周末閑的無聊,就想把系統換成ubuntu 12.04的,從ubuntu官網上下載了12.04的安裝包,下了個usb insta ...