(1)优先找本地的仓库当中的jar
(2)本地仓库找不到,侧从私服上查找,找到后下载到本地仓库
(3)私服上找不到,侧从中央仓库查找,找到后下载到私服,最后下载到本地。
最终maven都会把jar下载到本地仓库当中,maven工程再引用本地仓库的jar包
2、一键构建
什么是构建?
只指的是项目从编译–测试–运行–打包----安装整个过程都交给maven进行管理,这个过程称为构建。
maven将项目构建的过程进行标准化,每个阶段使用一个命令完成,下图展示了构建过程的一些阶段,后面章节详细介绍每个阶段,这里先大概了解一下:
1、Maven 仓库
Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建。
运行 Maven 的时候,Maven 所需要的任何构件都是直接从本地仓库获取的。如果本地仓库没有,它会首先尝试从远程仓库下载构件至本地仓库,然后再使用本地仓库的构件。
2、配置本地仓库
(1)创建仓库文件:文件名称为repository
。
(2)修改配置文件
这里的路径是上面创建仓库的路径
3、中央仓库
Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。
中央仓库的关键概念:
这个仓库由 Maven 社区管理。
不需要配置。
需要通过网络才能访问。
要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse。使用这个仓库,开发人员可以搜索所有可以获取的代码库。
4、远程仓库
如果 Maven
在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven
提供了远程仓库的概念,它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
举例说明,使用下面的 pom.xml
,Maven 将从远程仓库中下载该 pom.xml
中声明的所依赖的(在中央仓库中获取不到的)文件。
5、私服:私人搭建的服务器。一般在企业内部的局域网中使用
6、最终maven都会把jar下载到本地仓库,maven工程再引用本地仓库的jar包。
maven常用命令
(一) maven常用命令:
1.mvn clean
清空产生的项目(target里)
2.mvn compile
编译源代码
切换到对应Java项目的目录下
3.mvn install
在本地repository中安装jar(包含mvn compile,mvn package
,然后上传到本地仓库)
生成对应的jar文件
4.mvn deploy
上传到私服(包含mvn install
,然后,上传到私服)
(二)把pom
文件中配置的依赖jar包打进来,打成一个包:要用maven-assembly-plugin
这个插件,在pom
文件加如下配置
5.mvn package
打包
生成jar
将打包好的jar放置到本地仓库
6.mvn test
运行测试
在target
test-classes
7.mvn site
产生site
8.mvn test-compile
编译测试代码
9.mvn -Dtest package
只打包不测试
10.mvn jar:jar
只打jar包
11.mvn test -skipping compile -skipping test-compile
只测试而不编译,也不测试编译
12.mvn deploy
13.mvn source.jar
源码打包
1、Maven有【三套】【相互独立】的生命周期
Maven有三套独立的生命周期,不了解的话很容易将Maven的生命周期看作一个整体。
(1)清理生命周期(Clean Lifecycle):在进行真正的构建之前进行一些清理工作。
(2)默认生命周期(Default Lifecycle):构建的核心部分:编译、测试、打包、部署等等
(3)站点生命周期(Site Lifecycle):生成项目报告、站点,发布站点。
相互独立的意思就是说,你可以仅仅调用clean来清理工作目录,可以仅仅调用site来生成站点,这三个生命周期之间相互独立,并不存在强依赖关系。
当然了,也可以将三个生命周期组合使用,直接运行mvn clean install site来一起运行这三套生命周期。
1、配置maven插件,高版本自带
Window->Preferences
2、设置maven仓库的位置
3、Maven重构缩阴
1、创建maven工程helloworld
点击Finish
2、自动生成web
目录结构
3、修改maven工程的jdk版本
在pom.xml当中添加以下代码片段
1.8
1.8
utf-8
刷工程
工程项目改变了jdk版本,并且将不会报错
没事刷两下
4、修改创建maven的时候的默认jdk版本
(1)在maven的安装路径下
调整全局JDK版本,在settings.xml下配置
jdk1.8
true
1.8
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
1、创建Servlet类
Next
Finish
2、创建好一些Servlet工程会包一些错误
缺少一些jar
3、快速添加jar
点击Add
自动在pom.xml
当中添加对应的配置
4、创建jsp页面
这里没有报错,但是有时候就会报错
5、配置编译jsp对应的jar
6、在Servlet当中写入
package com.itzheng.web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
- Servlet implementation class HelloServlet
*/
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(“进入到HelloServlet…”);
//请求转发
request.getRequestDispatcher(“/index.jsp”).forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
7、修改index.jsp页面
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
第一次使用maven工程,进入index.jsp页面
8、运行项目
(1)pom.xml添加配置文件
org.codehaus.mojo
tomcat-maven-plugin
2.2
8080
utf-8