栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MAVEN教程--个人学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MAVEN教程--个人学习笔记

目录

Maven 3.6.3 的下载、安装、配置、检测(详细讲解)_【官方推荐】、唐城的博客-CSDN博客_maven3.6.3安装

1.1 maven概念

1.2 maven作用

1.3 maven仓库

1.4 maven创建maven项目

1.5 idea创建web项目

1.6 依赖配置

1.7 依赖管理

1.7.1 依赖传递

1.7.2 依赖传递冲突问题

1.7.3 可选依赖

1.7.4 排除依赖

1.7.5 依赖范围

1.8 生命周期与插件


Maven 3.6.3 的下载、安装、配置、检测(详细讲解)_【官方推荐】、唐城的博客-CSDN博客_maven3.6.3安装

1.1 maven概念

传统构建项目遇到的问题:

    jar包不统一,jar包不兼容使用maven工程升级维护过程操作繁琐

Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)

POM:项目对象模型

1.2 maven作用

项目构建:提供标准的,跨平台的自动化项目构建方式

依赖管理:方便快捷的管理项目以来的资源(jar包),避免资源间的版本冲突问题

统一开发结构:提供标准的,统一的项目结构

1.3 maven仓库

仓库:用于存储资源,包含各种jar包

本地仓库

远程仓库:

        私服仓库:部门/公司范围内存储资源的仓库,从中央仓库获取资源,可放一些具有版权的仓库

        中央仓库:MAVEN团队维护,存储所有资源的仓库,开源jar包

Maven仓库中用于描述仓库中资源位置

https://repo1.maven.org/maven2/junit/junit/4.13.2/

Maven坐标主要组成

grouId:定义当前Maven项目隶属组织名称

artifactID:定义当前Maven项目名称

version:定义当前项目版本号

mvnrepository.com 网站可以直接复制相关坐标代码

1.4 maven创建maven项目

点击右上角的Project Structure->Modules

改变文件属性右键文件Mark Directory as --

src中   java:Sources   resources:Resources

test中java:Test   resources:Test:Resources

1.5 idea创建web项目

Project->maven->选择SDK和Create from archetype

输入webapp->OK

idea2019.3  无法使用3.8.5   现配置3.6.3

引入spring-context 依赖才有spring config选项

 
    
      org.springframework
      spring-context
      5.0.2.RELEASE
    
  

构建tomcat,可以通过依赖的方式构建

  
    
    
      
      
          org.apache.tomcat.maven
          tomcat7-maven-plugin
          2.1
          
            80
            /
          
      

    
  

点击edit configarations,选择maven,点击添加,

name:启动服务器      command line:   tomcat:run        OK

1.6 依赖配置

依赖指当前项目所需的jar,一个项目可以设置多个依赖


        
            log4j
            log4j
            1.2.12
        

1.7 依赖管理

1.7.1 依赖传递

依赖具有传递性:

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被资源的资源如果依赖其他资源,当前项目依赖其他资源

项目3的坐标

com.it3
  web01
  1.0-SNAPSHOT

在项目2中把项目3的坐标用依赖方式写入就可以了


        
            com.it3
          web01
          1.0-SNAPSHOT
        

1.7.2 依赖传递冲突问题

路径优先:当依赖中出现相同的资源是,层级越深,优先级越低,层级越浅,优先级越高

声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的

特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的

1.7.3 可选依赖

可选依赖指对外隐藏当前所选依赖的资源---不透明

项目3

      log4j
      log4j
      1.2.12
      false

1.7.4 排除依赖

排除依赖指主动断开以来的资源,被排除的资源无需指定版本---不需要

项目2


      com.it
      web02
      1.0-SNAPSHOT
                               
         log4j
         log4j
      

1.7.5 依赖范围

依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围

    主程序范围有效(main文件夹范围内)测试程序范围有效(test文件夹范围内)是否参与打包(package指令范围内)


      log4j
      log4j
      1.2.12
      runtime

1.8 生命周期与插件

 Maven对生命周期划分为3套

clean:清除工作

pre-clean    执行一些需要在clean之前完成的工作clean          移除所有上一次构建生成的文件post-clean  执行一些需要在clean之后立刻完成的工作default:核心工作,例如编译,测试,打包,部署site产生报告,发布站点

 插件


        
            
                
                org.apache.maven.plugins
                maven-source-plugin
                2.2.1
                
                    
                        
                            jar
                            test-jar         
                        
                        generate-test-resources
                    
                
            
        
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号