maven

maven:其实就是一个项目管理工具,以后就是用这个写项目了专业哈哈哈哈

项目生命周期图解

在这里插入图片描述

maven入门图解

在这里插入图片描述

maven是一个项目管理工具

  • 项目对象模型.(POM)
  • 一组标准组合
  • 一个项目生命周期
  • 一个依赖管理系统(dependency)
  • 用来运行定义在生命周期阶段的插件目标

maven组成图解

在这里插入图片描述

maven的本质是什么

就是用来管理项目中用到的jar包。一般使用maven就是i用来管理jia包的,我们就可以不用一次又一次的引入jar包了

maven的使用

1.下载安装
下载地址:https://maven.apache.org/download.cgi
解压就是安装,需要解压到一个没有中文和空格的目录之中,解压完成就已经安装好了。
2.目录介绍

  • bin:内部放的二进制文件
  • boot:内部是运行maven的类加载器,来运行maven信息
  • conf:配置信息,内部含有的都是配置信息 setting.xml是整个maven的核心配置文件。
  • lib:运行maven所需要的以来jar包
    3.要使用maven就需要配置环境变量
  • 因为maven使用需要依赖于JDK1.7,所以需要电脑安装的是JDK1.7以上的版本
  • 配置环境变量MAVEN_HOME
    • 首先配置MAVEN_HOME的根目录:D:\Java\maven\apache-maven-3.6.3
    • 再去配置Path总路径:在最后面添加 ;%MAVEN_HOME%bin
  • 验证maven是否配置成功
    • mvn -v 注意mvn后面有一个空格 出现版本号就表示配置成功
      配置环境变量图解
      在这里插入图片描述

maven仓库

目的:主要是存放项目中会用到的jar包,有本地仓库,远程仓库,中央仓库
本地仓库:开发者自己的电脑上面,存放自己的资源(默认是在电脑C盘里面)
远程仓库(私服):搭建私服就是就是搭建远程仓库。搭建一个属于公司内部的仓库
中央仓库:是maven团队来操作的。它就是管理维护世界上所有用到的jar包资源。目前全球大概两亿的jar包
访问顺序就是:本地仓库,远程仓库,中央仓库,小的找不到就去大的找,中央仓库都找不到那就没了。
创建本地仓库

  1. 首先就是解压maven

  2. 配置路径

  3. 找到conf下面的settings文件,然后编辑此文件 在52行左右找到
    在这里插入图片描述
    里面的位置就是maven的本地仓库位置

  4. 配置JDK1.8的版本,maven默认是JDK1.5

<profile>    
     <id>jdk18</id>    
     <activation>    
         <activeByDefault>true</activeByDefault>    
         <jdk>1.8</jdk>    
    </activation>    
   <properties>    
        <maven.compiler.source>1.8</maven.compiler.source>    
       <maven.compiler.target>1.8</maven.compiler.target>    
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
    </properties>     
</profile> 

在这里插入图片描述
配置国内阿里云镜像仓库

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

在这里插入图片描述

构建maven工程

maven工程的目录结构

想要使用maven工程就必须遵从maven的目录规范,否则就不能使用。

  • 第一个:src/main/java : 存放项目的java文件(以.java结尾的)
  • 第二个:src/main/resources : 存放项目资源文件,如db.properties,后面用到的框架的配置文件 以 .xml 结尾的 。
  • 第三个:src/main/webapp:web工程的web资源
  • 第四个:src/main/webapp/WEB-INF:存放webx.xml文件
  • 第五个:src/test/java :存放单元测试的 .Java 文件 如Unit测试类
  • 第六个:src/test/resources :存放测试用到的资源文件,如果没有就会从main中查找
  • 第七个:target:项目的输出位置,如编译之后的 .class文件,打成的 jar包文件和war包文件
  • 第八个:pom:项目对象模型

初始版本maven工程图解
在这里插入图片描述
maven工程提升加一个web
框架板块------>Facets---->+号—>web—>图解
在这里插入图片描述
maven工程最终操作
在这里插入图片描述
第三幅图中的设置:-DarchestypeCatalog=internal 表示无网络也能操作
第一幅图中选择 new Projects Sertting 表示每次创建新工程maven位置设置都一样.

maven的依 赖管理

通过maven的依赖管理对项目中的jar包统一管理,通过引入单个

  • 标签,表示当前项目所有以来的jar包,其内部是
  • 标签表示具体依赖其内有四个标签
    • 表示组织名+项目名
    • 表示模块或者项目名称
    • 表示版本号
    • 表示依赖的范围
      放在的是pom.xml下面的
<dependencies>
        <dependency>
            <groupId>junit</groupId><!--组织名+项目名-->
            <artifactId>junit</artifactId><!--模块或者项目名称-->
            <version>4.12</version><!--版本号-->
            <scope>test</scope><!--表示依赖范围就是这个项目是什么状态的,是测试的还是开发的  就是用于src包的还是test包的-->
        </dependency>
    </dependencies>

maven配置文件查找
进入网站:https://mvnrepository.com/search?q=servlet
搜索想要的jar包 比如Servlet包就输入Servlert
点击进入,再找使用人数最多的,版本点进去
在这里插入图片描述
直接复制粘贴使用这个就可以了.

在maven内部集成了很多的内置插件,如JDK,Tomcat等
jdk默认版本是1.5 tomcat默认本本是6.0
真实使用的时候需要手动配置就去 一般配置JDK为1.7或者1.8 tomcat配置为7.0或者8.0

pom.xml

是一个核心的配置文件,是我们maven项目的核心,内部一些标签意义

  • packaging----->jar表示java纯工程, war 表示web工程 pom 表示父项目或者夫工程和
  • dependencies----> 内部含有很多的dependency标签 每一个dependency都表示一个依赖
  • 以下三个都在dependency标签里面
  • groupId---->组织或者项目名称
  • artifactId---->模块
  • version---->项目版本

maven常用项目

  • mvn complie 执行成功 生成target目录 包含编译之后的 .class 文件和配置文件以及达成的jar 包
  • mvn test 执行成功 编译测试文件
  • mvn package 执行打包命令,会在target目录中生成打包文件
  • mvn install 执行发布命令/安装命令 完成以上命令 把打包之后的文件存放到本地仓库中
  • mvn tomcat.run 执行内置服务器的运行指令
  • mvn clean 清除target目录
  • mvn deploy 部署

###在maven中添加以来

  1. 首先我们应该知道依赖是添加在pom.xml里面的deoendencies标签里面的
  2. 其次只用写一个dependencies 只是在这个标签里面一个依赖就要写一个dependency
  3. 如果写出来的是红的并不代表错误只是说明你的本地仓库没有,你只需要刷新一下就不会报错了

maven插件配置

  • 主要是借助于标签
  • build
  • plugins
  • plugin 添加具体的插件
  • configuration 配置详细信息

依赖传递现象

由于maven中存在依赖传递现象,所以会引发依赖冲突现象,是因为多个jar包的版本不一样所以会出现依赖传递现象,
依赖传递现象解决方案

  • 首先是舍得路径更短就执行哪个
  • 如果路径一样短那么就是,谁先声明就先使用哪一个
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值