1. Maven介绍

Maven是项目管理工具

 

pom.xml中放jar包的坐标

把jar包统一放在jar包仓库中,运行时根据jar包坐标找到jar包

会先找本地仓库,没有再去找中央仓库(公司会有一个远程仓库)

依赖管理

maven工程对jar包的管理过程

一键构建

用maven集成的tomcat 完成编译、测试、运行、打包、安装、部署等一些列操作

不用本地tomcat

命令:mvn toncat:run

 

2. Maven下载安装

下载:

https://maven.apache.org/download.cgi

idea 中libraries jar报错_jar包

idea 中libraries jar报错_tomcat_02

配置:settings.xml

idea 中libraries jar报错_maven_03

idea 中libraries jar报错_maven_04

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

配置环境变量

新建环境变量:MAVEN_HOME

在Path环境变量中新建:%MAVEN_HOME%\bin

Mac配置环境变量过程:

终端执行:vi /etc/profile      环境变量配置文件,修改完保存退出

idea 中libraries jar报错_jar包_05

验证安装成功:

终端执行 :mvn -v

idea 中libraries jar报错_maven_06

maven的命令行简单使用:

mvn clean  删除编译信息(target目录)

mvn compile  编译(增加target目录;target/classes)

mvn test  测试(target/test-classes)

mvn package  打包(target/xxx.war;后缀名可以在pom.xml配置文件中设置)

mvn install  安装(把项目打包放到本地仓库)

mvn deploy  发布

每一个构建项目命令,都对应了maven底层一个插件

执行后面的命令时,前面的项目会自动执行一次

 

3. IDEA创建一个Maven项目

IEDA集成Maven:

idea 中libraries jar报错_jar包_07

idea 中libraries jar报错_tomcat_08

idea 中libraries jar报错_tomcat_09

-DarchetypeCatalog=internal

 

使用骨架(模版)创建一个web工程:

idea 中libraries jar报错_tomcat_10

idea 中libraries jar报错_jar包_11

idea 中libraries jar报错_jar包_12

idea 中libraries jar报错_jar包_13

idea 中libraries jar报错_maven_14

  • 创建完成:右下角 点击"允许自动导入"

idea 中libraries jar报错_tomcat_15

idea 中libraries jar报错_tomcat_16

  • 手动补齐maven项目目录:

idea 中libraries jar报错_tomcat_17

idea 中libraries jar报错_maven_18

 

idea 中libraries jar报错_maven_19

 

pom.xml中添加jar包的方法

本地有jar包的情况下:

idea 中libraries jar报错_maven_20

idea 中libraries jar报错_jar包_21

本地没有,就需要去maven中央仓库搜索jar包:https://mvnrepository.com

idea 中libraries jar报错_jar包_22

idea 中libraries jar报错_maven_23

idea 中libraries jar报错_tomcat_24

idea 中libraries jar报错_tomcat_25

 

pom.xml中添加tomcat插件(因为默认是tomcat6,所以自己添加个高版本的)

idea 中libraries jar报错_jar包_26

<plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>8080</port>
          <uriEncoding>UTF-8</uriEncoding>
        </configuration>
      </plugin>

启动项目

idea 中libraries jar报错_maven_27

例如:使用tomcat7插件启动项目(后面有一个项目的例子)

idea 中libraries jar报错_tomcat_28

 

4. 一个maven web工程的例子

//pom.xml 添加依赖(jsp和servlet)
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope> <!--作用域-->
      <!--provided:只在编译时起作用,项目运行时不起作用-->
      <!--运行时使用tomcat插件中的jar包-->
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>
//servlet----java包下

@WebServlet("/myServlet")
public class MyServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        System.out.println("myServlet...");

        //转发---跳转到hello.jsp页面(hello.jsp要在webapp下)
        request.getRequestDispatcher("/hello.jsp").forward(request,response); 
    }
}
//hello.jsp---webapp下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>hello world</title>
</head>
<body>
    maven
</body>
</html>

启动:(m按钮)tomcat7:run

idea 中libraries jar报错_jar包_29

在浏览器输入:上面的访问路径/myServlet

idea 中libraries jar报错_maven_30

 

 

5. 补充:添加自定义插件模版

idea 中libraries jar报错_maven_31

(这一步,也可以是File-->Settings)

idea 中libraries jar报错_jar包_32

idea 中libraries jar报错_jar包_33

idea 中libraries jar报错_jar包_34

下次再需要写入tomcat7插件的时候,直接写模版名字(tomcat7) 然后回车就可以把内容添加上了