一:简单介绍

他是一个帮我们管理jar,并帮助我们处理jar包依赖。

他是一个我们编译、测试、运行、打包的一键构建。

我们在使用后面的命令的同时,前面的过程也自动执行。

二、仓库的分类:

分本地仓库、远程仓库和中央仓库。

本地仓库的配置文件在:

maven项目的目录结构:

在我们创建的项目的时候,java和resources目录是不存在的。需要手动创建。

三、maven的命令:

compile

compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。

cmd进入命令状态,执行mvn compile,如下图提示成功:

查看 target目录,class文件已生成,编译完成。

test

test是maven工程的测试命令,会执行src/test/java下的单元测试类。

cmd执行mvn test执行src/test/java下单元测试类,下图为测试结果,运行1个测试用例,全部成功。

clean

clean是maven工程的清理命令,执行 clean会删除target目录的内容。

package

package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。

install

install是maven工程的安装命令,执行install将maven打成jar包或war包发布到本地仓库。

从运行结果中,可以看出:

当后面的命令执行时,前面的操作过程也都会自动执行。

四、IDEA创建maven项目:

1)

2)

点击next

点击next

点击next

点击finish

完成之后右下角:创建的进度。

完成之后:右下角点击自动导入

创建完之后项目的目录:

只有webapp。没有java和resources目录 。

我们点击:

点击module的Sources。

新建的java,目录变成蓝色。

同理创建resources目录 不过右击的时候点击的是:

然后在看新创建的目录:有独有的标识。

然后点击apply -->ok

这样咱们的maven的项目的 创建完。

如何添加依赖呢?

打开pom.xml,点击标签:<dependencies>  然后录Alt+insert 快捷键出现:

然后点击Dependency:

点击我们想要的jar版本。

点击add

在pom.xml文件就自动添加了我们想要的依赖:

这样就添加我们的依赖,一般情况我们将现成的pom.xml文件直接使用避免一个一个导入。

五、配置tomcat:

添加本地的tomcatserver。

六、我们在java中写个简单的servlet。

创建一个servlet:

 package com.jd.test;

 import java.io.IOException;

 public class ServletTest extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { } protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().print("这是一个测试页面!");
}
}

web.xml配置:

七:如果本地仓库没有,怎么添加jar包到本地仓库?

命令如下:

 mvn install:install-file -Dfile=C:\Users\Administrator\commons-pool2-2.5..jar -DgroupId=org.apache -DartifactId=commons-pool -Dversion=-2.5 -Dpackaging=jar

八:当我们引入的依赖比如说spring4.0的时候相关的jar包会重复出现版本号4.0 这个时候我们可以定义属性,来进行变量设定。

       <properties>
<spring.version>4.2..RELEASE</spring.version>
<struts2.version>2.3.</struts2.version>
<hibernate.version>5.0..Final</hibernate.version>
<slf4j.version>1.6.</slf4j.version>
<log4j.version>1.2.</log4j.version>
<shiro.version>1.2.</shiro.version>
<cxf.version>3.0.</cxf.version>
<c3p0.version>0.9.1.2</c3p0.version>
<mysql.version>5.1.</mysql.version>
</properties>

其中标签内的<c3p0.version>这个内容可以随便定义,可以定义xx在引用的时候,直接${xx}引用即可。

         <dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>${c3p0.version}</version>
</dependency>

maven使用及创建项目的更多相关文章

  1. Maven 命令行创建项目时 Could not find goal ‘create’ in plugin org.apache.maven.plugins:...

    使用maven3.3.9 版本,进行命令行创建项目时输入以下命令创建失败 mvn archetype:create -DgroupId=com.zang.maven  -DartifactId=sys ...

  2. 老大说新项目的结构和 xxx 项目一样就可以了,我 ……(使用 Maven Archetype 快速创建项目)

    前言 又要开发新项目了,还是创建新项目,怎么办?老大说按照 xxx 项目的结构创建一个新项目就可以了. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻 ...

  3. maven命令行创建项目问题

    今天在命令行下创建maven项目,使用的是create命令,但是一直失败,网上查找原因说archetype:create命令已经过期,需要使用 archetype:generate 来进行代替 加上了 ...

  4. maven eclipse配置 创建项目

    下载maven jar 可以去官网http://maven.apache.org/ 或者我的百度云http://download.csdn.net/detail/taopeng_100/9894787 ...

  5. Maven创建项目

    Maven创建项目 Maven翻译成中文是『专家.内行』.Maven是Apache组织中一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理的优秀工具 本文将 ...

  6. Maven创建项目时出现Generating project in Interactive mode就一直卡住的解决方案

    使用maven命令在创建项目的时候出现 Generating project in Interactive mode 然后就一直卡住 网上搜做了很多解决方案 有说各种方案的,最后找到了一种.实验成功 ...

  7. Maven自定义绑定插件目标:创建项目的源码jar

    <build> <plugins> <!-- 自定义绑定,创建项目的源码jar --> <plugin> <groupId>org.apac ...

  8. 配置Maven环境并创建简单的web项目步骤

    Maven的介绍 主要包含以下三个内容: 1.POM(Project Object Model):即An xml file(pom.xml):依赖管理.生命周期和插件的需要等都在pom.xml文件中完 ...

  9. Maven入门学习,安装及创建项目

    一.maven介绍: 1.maven是一个基于项目对象模型(POM Project Object Model),通过配置文件管理项目的工具(项目管理工具). 2.maven主要功能:发布项目(从编译到 ...

随机推荐

  1. Three.js开发指南---使用高级几何体和二元操作(第六章)

    本章的主要内容: 一,高级几何体-凸面体ConvexGeometry,扫描体LatheGeometry,管状几何体TubeGeometry: 二,使用拉伸几何体ExtrudeGeometry将一个二维 ...

  2. POJ1458(KB12-L LCS)

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 51319   Accepted: 21 ...

  3. python学习之老男孩python全栈第九期_day011知识点总结

    # 装饰器的形成的过程:最简单的装饰器:有返回值的:有一个参数的:万能参数# 装饰器的作用# 原则:开放封闭原则# 语法糖# 装饰器的固定模式:# def wrapper(f): # 装饰器函数,f是 ...

  4. PHP实现批量删除(封装)

    前台 <!DOCTYPE html> <html> <head> <title>批量删除</title> </head> < ...

  5. js-ES6学习笔记-Promise对象(2)

    1.Promise实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的.它的作用是为Promise实例添加状态改变时的回调函数. 2.Promise.pr ...

  6. css3之transform属性实现div不定宽高垂直水平居中

    transform的作用 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜.(w3cschool) transform的兼容性 transfor ...

  7. ubuntu 搭建samba共享方案

    1.samba服务安装搭建 sudo apt-get install samba sudo vim /etc/samba/smb.conf workgroup = szsoft 设置用户密码登陆方式s ...

  8. 2018-10-27 22:44:33 c language

    2018-10-27  22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译 ...

  9. Json 操作

    Json简介: JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集 ...

  10. Oracle EBS OM 创建订单

    DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...