一、maven简介
1、概述:
是apache下的用java开发的一个开源项目,只是用来管理java项目,是一个由java开发的工具。
2、优点:
(1)依赖管理(对jar包的统一管理):缩减项目大小,节省空间(传统的web项目,jar包在项目中,而maven项目的jar包不在项目中,实现了代码的可重用。创建私服可以导入第三方jar包)
(2)可以跨平台。
(3)应用于大型项目(分模块开发),可以提高开发效率。
(4)项目的一键构建:
项目构建的过程:
编码 编译 测试(jumit) 运行 打包 部署
一键构建完成的任务:
编译 测试(junit) 运行 打包 部署
使用命令就可以把项目运行起来:
tomcat:run
(3)作用
管理项目构建的生命周期(编译器自带此功能,如:eclipse、IDEA,不是重点的功能)
管理项目中的jar包(一般的管理方式,存在定位较难、包间的依赖、冲突、管理等问题)
管理项目的基础信息(文档管理,测试报告)
二、maven的安装配置
1、下载安装
2、配置环境变量
(1)配置:
将MAVEN_HOME配置到path里面:
(2)验证:
配置之后可以在任一目录下对maven进行访问
3、配置本地仓库
默认的位置在C盘的User用户下,但是一般不用此位置,因此需要在配置文件中重新设置本地仓库的地址
(1)找到配置文件:
(2)配置本地仓库:
<localRepository>D:Program Files (x86)mavenWarehouse epository</localRepository>
4、本地仓库、远程仓库、中央仓库
当本地仓库(存放的是jar包,在本地计算机)没有需要的资源时会先向远程仓库(在局域网,也叫私服仓库)发起请求,获取到资源后会在自身保存一份,如果远程仓库不存在该资源会向中央仓库(地址在英国,全球只有一份)发起请求。然后存储到远程仓库和本地仓库
5、maven在IDEA中的配置
(1)打开IDEA:
(2)配置maven:
三、新建maven的web项目
1、新建maven项目:
选择quickstart的话建的是java工程
2、填写坐标,“groupId”,“artifactId”,“version”,其中groupId是公司域名,而artifactId是项目名或模块名,version就是该项目或模块所对应的版本号:
3、填写本地仓库和Maven的配置文件(如果已经在IDEA中配置过了,这里不用再次更改):
4、填写项目名,点击Finish:
5、选择自动导入:
6、在main目录下创建一个名字为java的文件夹:
此时,该文件夹只是一个普通的文件夹,需要对该文件夹进行操作,使得它可以创建servlet:
先在文件夹上右键:
也可以这样赋予目录权限,操作更加简洁:
选中目录后点击相应的权限即可
然后,进入project structure:
选上小勾:
可以看到,此时就可以新建servlet文件了:
7、新建一个servlet后,对其进行配置:
在WEB-INF目录下的web.xml文件进行配置。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>TestServlet</servlet-name> <servlet-class>pers.zhb.web.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestServlet</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app>
8、此时,代开servlet会发现它会报错,原因是缺少相应的包,需要对pom.xml进行配置:
添加如下代码:也就是导入相应的jar包,因为需要书写servlet和jsp
<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>
在servlet中书写如下代码,请求转发到hello.jsp:
public class TestServlet 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 { request.getRequestDispatcher("/hello.jsp").forward(request,response); } }
9、配置maven(运行到maven插件的tomcat):
输命令:
10、配置服务器(运行到本地服务器):
配置结束点右下角的fix:
选第一个:
点击apply后,结束。
11、运行
四、maven的项目结构
1、maven项目的核心配置文件
src:java代码
target:编译后的class文件,在创建项目的时候不需要创建,MAAVEN命令在执行后会自动创建
pom.xml:核心配置文件,功能是向MAVEN讨要jar包
2、main目录
main:主要开发
java:创建java文件
resources:配置文件
test:主要进行测试
java:创建测试类
resources:测试时需要使用的配置文件