Maven项目管理工具

Svn eclipse   maven量级

1      Maven的简介

1.1    什么是maven

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

1.2    Maven好处

普通的传统项目

Maven项目

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

1.3    依赖管理

1.4    项目一键构建

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

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

Maven能干的事:

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

2      Maven的安装配置

2.1    下载安装

从此目录中拷贝文件:

直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:

Maven软件的核心文件:

2.2    Maven环境变量配置

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

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

所以要配置maven的环境变量

在系统变量添加

环境变量的名称:MAVEN_HOME

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

3、把MAVEN_HOME添加到path里

4、验证maven是否配置成功:

打开dos窗口 输入: mvn –v

2.3    Maven仓库

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

3      演示入门程序

3. 1 Maven的常用命令

Clean   清理编译的文件

Compile 编译了主目录的文件

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

Package 打包

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

Tomcat:run  一键启动

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

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

Mvn clean package

4      项目构建

M2e插件的安装

Maven在eclipse的配置

1、选择3.3.9版本的maven软件

2、修改默认的本地仓库地址

项目构建

1、 新建maven项目

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

2、 填写坐标

3、创建工程

4、处理红色叉号

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

5、处理编译版本

在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>

5、创建一个servlet

修改web.xml

删除重复的代码

xmlns=http://java.sun.com/xml/ns/javaee

添加jar包

在pom中添加如下代码:

<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>

会发现jar包已添加到项目中

启动项目

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

5依赖管理

Jar包的管理

需求:整合struts2   页面上传一个客户id 跳转页面

5.1    添加依赖:

打开maven仓库的视图:

5.2    重建索引

1、 创建maven项目(同上)

2、 跳过骨架(同上)

3、 填写坐标信息(同上)

4、 添加web.xml文件(同上)

5、 修改编译版本(同上)

6、 添加坐标 选择Dependencies标签 点击add

SSM1-Maven入门的更多相关文章

  1. Maven入门详解

    什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...

  2. Maven 入门 (2)—— 创建Maven项目

    http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...

  3. Maven 入门 (1)—— 安装

    Maven 入门 (1)—— 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...

  4. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  5. maven 入门

    Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...

  6. Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...

  7. Maven入门系列(二)--设置中央仓库的方法

    原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...

  8. [转]Apache Maven 入门篇 ( 上 )

    原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...

  9. [转]Apache Maven 入门篇(下)

    原文地址: Apache Maven 入门篇(下) 作者:George Ma 第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例.那么在对maven有了一点 ...

  10. Apache Maven 入门

    Apache Maven 入门篇 ( 上 ) Apache Maven 入门篇 ( 下 ) ~$mvn archetype:generate -DgroupId=com.mycompany.hello ...

随机推荐

  1. PHP网络请求优化

    目录 1. 设置超时时间 2. 将串行请求并行化 1. 设置超时时间 连接超时:200ms 读超时: 800ms 写超时: 500ms 2. 将串行请求并行化 使用curl_multi_*() 使用s ...

  2. 分离vue文件,方便后期维护

    参考: https://www.cnblogs.com/wy120/p/10179901.html https://blog.csdn.net/sinat_36146776/article/detai ...

  3. activeMQ消息队列安装配置

    1.  下载 到官网下载最新版本,有windows版本和linux版本的. http://activemq.apache.org/download.html 2.   windows下部署 Activ ...

  4. AutoIt自动化编程(4)【转】

    五.自动化操作轻松入门系列5 控件操作 然而,在真正实现自动化时仅靠上面的技术往往难以达到预期目的.下面开始进入最为重要的控件操作. 1.设置文本 在安装软件的过程中用户往往需要提供一些必需信息,比如 ...

  5. python的meshgrid用法和3D库 mpl_toolkits.mplot3d 与PolynomialFeatures多项式库学习

    meshgrid import numpy as np from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Ax ...

  6. zabbix自动发现主机(转)

    zabbix自动发现主机 2018年06月15日 18:02:52 loyal-Wang 阅读数:817更多 个人分类: zabbix   版权声明:本文为博主原创文章,转载请注明出处. https: ...

  7. 新书《iOS应用逆向工程:分析与实战》

    前无古人!小白福音!国内第一本iOS应用逆向工程类图书<iOS应用逆向工程:分析与实战>就要空降啦~! 你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策? 你是否曾 ...

  8. collections中namedtuple的用法

    我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的.这时,namedtuple就派上了用 ...

  9. 使用flags定义命令行参数

    TensorFlow定义了tf.app.flags,用于支持接受命令行传递参数,其中tf.app.flags.DEFINE_xxx()是添加命令行的optional argument(可选参数),而t ...

  10. ES6之主要知识点(三)字符串

    引自:http://es6.ruanyifeng.com/#docs/string#codePointAt codePointAt() String.fromCodePoint() at() incl ...