java 框架

DAY02-maven的使用

2020-04-20  本文已影响0人  建国同学

一、 maven概述

maven是什么

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

为什么要使用maven

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

实现流程

maven实现流程

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

maven项目结构

maven项目结构

二、 maven安装

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

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

2、安装

3、配置环境变量

4、验证Maven安装

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


image.png

三、 maven相关的命令

四、Maven 设置

1、本地仓库

2、配置中央仓库镜像

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

<?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、添加依赖

依赖有问题的解决方法

网站搜索拷贝添加依赖

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

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

使用Maven命令

七、搭建基于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

八、概念解释

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

1、Maven中的坐标

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


image.png

2、依赖

打包时正在校验


image.png

<scop>

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,这就是依赖的传递性
依赖的传递性可以解决依赖繁琐的问题。

上一篇下一篇

猜你喜欢

热点阅读