美文网首页java 框架
DAY02-maven的使用

DAY02-maven的使用

作者: 建国同学 | 来源:发表于2020-04-20 20:58 被阅读0次

    一、 maven概述

    maven是什么

    Apache组织开发的一个开源跨平台的集构建、依赖管理、项目管理于一身的工具(跨平台体现在不同操作系统上都能使用)

    为什么要使用maven

    解决构建部署项目,第三方依赖比较繁琐的问题,进行统一管理与配置,提供了一个标准的最佳实践目录结构,更高效的来开发管理项目

    实现流程

    maven实现流程

    可以重复利用之前使用的jar,不用每次去下载

    maven项目结构

    maven项目结构

    二、 maven安装

    1、检查JDK 的版本与需要的maven版本

    Maven 不同的版本对 JDK 是有要求的,具体请看官网https://maven.apache.org/docs/history.html

    2、安装

    • 把apache-maven-x.x.x-bin.zip解压到目录中(目录路径最好不要有空格和中文)。

    3、配置环境变量

    • 配置系统环境变量,MAVEN_HOME,指向maven的根目录;
    • 配置环境变量Path,将%MAVEN_HOME%\bin追加到Path中。

    4、验证Maven安装

    mvn –v ,如下效果即代表安装成功


    image.png

    三、 maven相关的命令

    • 需要在cmd下切换到项目所在目录
      mvn compile:编译
      mvn clean:清除 :字节码有问题破损时使用,会清除项目下的target文件
      mvn test:测试
      mvn package:打包
      mvn install:打包,本地仓库也放一份

    四、Maven 设置

    1、本地仓库

    • 运行过 Maven 命令才会在你的用户目录生成一个.m2目录,该目录下有个目录名 repository,这个就是所谓的本地仓库,主要存放是一些下载的jar文件。


      本地仓库
    • 本地仓库默认位置在 用户目录/.m2/repository,本地仓库不建议在系统盘
      本地仓库修改为其他路径<localRepository>本地仓库路径</localRepository>,修改后用户下的本地仓库文件夹repository可以删除

      本地仓库路径

    2、配置中央仓库镜像

    配置一个中央仓库的镜像来降低下载失败的概率

    • setting.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <!-- 本地仓库地址 -->
        <localRepository>D:\codeSoftware\Maven\mvn-rep</localRepository>
        <mirrors>
            <!-- 阿里仓库镜像 -->
            <mirror>
                <id>alimaven</id>
                <name>aliyun maven</name>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <mirrorOf>central</mirrorOf>
            </mirror>
        </mirrors>
    </settings>
    

    五、Eclipse 中 Maven 的配置

    1、配置安装的 Maven

    image.png

    2、设置 setttings.xml和本地仓库

    image.png

    3、下载源码设置

    image.png

    六、 搭建基于Maven构建的JavaSE项目

    1、创建项目

    image.png image.png image.png

    2、pom.xml 文件

    用于填写项目信息,打包方式,添加依赖等。


    image.png

    3、添加依赖

    • 建索引添加依赖
      显示索引菜单


      image.png
      image.png

      禁用远程仓库索引


      image.png
      建立本地仓库索引
      image.png
      在pom.xml 右键添加依赖
      image.png

      在添加依赖的对话框中选择需要添加的依赖


      image.png
    依赖有问题的解决方法

    网站搜索拷贝添加依赖

    访问不到电脑使用手机的热点试试,或者科学上网。
    网站:官网 https://mvnrepository.com/
    阿里 https://maven.aliyun.com/mvn/search

    image.png image.png image.png image.png

    使用Maven命令

    • 清除


      image.png
    • 打包
      菜单自有的命令有限,没有打包的菜单,所以可以右键项目:


      image.png
      image.png
      image.png

    七、搭建基于Maven构建的JavaWeb项目

    1、创建项目

    image.png

    此时注意打包方式为war


    image.png

    2、添加web.xml

    image.png
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        version="3.0">
    </web-app>
    

    3、修改项目编译运行版本

    <plugin>
       <artifactId>maven-compiler-plugin</artifactId>
       <configuration>
       <source>1.8</source><!-- 更新项目(Maven | Update Project)之后,会修改项目的编译版本 -->
       <target>1.8</target><!-- 更新项目之后,会修改项目的运行版本 -->
       <encoding>utf-8</encoding><!-- 更新项目之后,Java 编译器读取你的文件用的编码 -->
       </configuration>
    </plugin>
    
    image.png

    之后右键项目更新项目


    image.png

    4、添加依赖

    image.png

    5、编写Servlet与JSP

    image.png
    image.png

    6、配置Tomcat插件

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
            <port>8080</port> <!-- 端口 -->
            <path>/</path> <!-- 上下路径 -->
            <uriEncoding>UTF-8</uriEncoding> <!-- 针对 GET 方式乱码处理 -->
        </configuration>
    </plugin>
    

    7、启动Tomcat

    • 常见错误:
    1. 端口占用:(未正常关闭服务器,多次点击启动,可进任务管理器关闭javase进程)
      Netstat命令
        1)、“运行”中输入cmd;
        2)、在命令行中输入netstat -ano,得到端口号对应的PID;
    2. 路径问题:


      image.png
    • 右键要启动的项目
      image.png
      如下输入tomcat7:run,Debug 启动。tomcat7为<artifactId>tomcat7-maven-plugin</artifactId>里的前缀,要完全一致
      image.png

    八、概念解释

    数学中的坐标在空间中,使用 X、Y、Z 三个向量可以唯一的定位空间中的任意一个点。

    1、Maven中的坐标

    标识项目在仓库中的位置。主要由下面构成:
    groupId:项目名称,一般使用公司或组织域名倒写,域名具有唯一性,区分不同公司;
    artifactId:项目中 Maven 项目/模块名称,区分同一个公司的项目;
    version:项目版本,区分同一个项目不同时期的特点。


    image.png

    2、依赖

    打包时正在校验


    image.png

    <scop>

    • Maven在编译,测试,运行的时候,各需要一套classpath(比如编译的时候会有编译的 classpath,测试的时候会有测试的 classpath)。
      scope表明该依赖的项目和三个classpath 的关系,即表示依赖什么阶段起作用,什么阶段

    scope 主要可选值:
    a、compile:默认,适用于所有阶段,会随着项目一起发布,在编译,测试,运行时都有效;
    b、provided:编译和测试阶段使用;典型的如 servlet-api.jar,打包时不需要,容器来提供;
    c、runtime:测试和运行阶段使用,用于接口和实现分离,典型的如 jdbc 具体驱动实现;
    d、test:测试阶段使用,不会随项目发布,如 junit。

    image.png
    image.png

    传递性

    Maven的依赖是具有传递性的,
    比如 A -> B,B -> C,那么A间接的依赖于C,这就是依赖的传递性
    依赖的传递性可以解决依赖繁琐的问题。

    相关文章

      网友评论

        本文标题:DAY02-maven的使用

        本文链接:https://www.haomeiwen.com/subject/ppzkihtx.html