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

Java项目管理神器:Maven

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

Java项目管理神器:Maven

Maven

刚开始打算学Java框架,项目管理就来了,Spring视频的第一个就是Maven,我就来了

基本概念

概念:基于Java平台的自动化构建工具

maven的作用

  • 管理jar包
    • 增加第三方jar包
    • 管理jar之间的依赖关系:自动关联下载所有依赖的jar包
  • 将项目拆分为若干个模块

maven构建步骤:

  • 清理:删除编译的结果,为重新编译做准备
  • 编译:生成字节码文件(.class)
  • 测试:针对于项目中的关键点进行测试
  • 报告:将测试的结果进行显示
  • 打包:将项目中包含的多个文件,压缩成一个文件,用于安装或部署
  • 安装:将打包后的文件放到本地仓库,供其他项目使用
  • 部署:将打包后的文件.war或者jar放到服务器上准备运行

下载和配置

配置环境

JAVA_HOME
MAVEN_HOME
PATH

# 查看配置是否成功
mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: F:apache-maven-3.8.4-binapache-maven-3.8.4
Java version: 17.0.1, vendor: Oracle Corporation, runtime: D:JDK
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"	

jar包里面存放的是经过编译后的.class字节码文件,一般jar名是模块名

配置本地仓库


	xxx

默认本地仓库:C:/User/YANQUN/.m2/repository

maven约定的目录结构

project
src --源代码目录
	main --程序功能目录
		Java --Java代码
		resource --资源代码、测试代码
	test --测试目录
		Java
		resource
pom.xml --项目对象模型
target  --目标文件

pom.xml主要选项:

  • groupId:域名反转.总项目名

  • artifactId:本模块名(该模块相当于总项目是一个子模块),一般根据该名字生成的jar包

  • version:当前版本号

  • dependency:配置依赖包信息。依赖包的信息配置,会去本地仓库或者中央仓库找

    
    	
             	xxx
             	xxx
             	xx
            	xxx
         	
    
             
                 xxx
                 xxx
                 xx
                xxx
             
    
    

    其中scope有三种方式:compile、test、provided,默认是compile,表示的是该jar包的使用方式

    compiletestprovided
    主程序×
    测试程序
    部署(运行)××

执行mvn:必须在pom.xml目录执行

常见命令
# 编译程序,只编译main中程序
mvn compile
# 编译测试程序
mvn test
# 打包
mvn package
# 将开发的模块放入本地仓库供其他模块引用
mvn install
# 清除target目录
mvn clean
Maven高级

依赖

  • 依赖的范围、依赖的有效性

  • 依赖排除

    
    	
        	xxx
            xxx
        
    
    
  • 依赖的传递性(必须是compile)

  • 依赖原则:路径最短优先原则、路径长度相同

Maven命令的生命周期:

  • maven resources
  • maven compile:编译main目录
  • maven test:编译test目录
  • maven package:打包

这些都是一步步执行的,后一步的执行必须依赖于前一步的执行,也就是说,不可单独执行

生命周期包含的阶段:

  • clean lifecycle:清理

  • default lifecycle:默认(默认)

    • compile:编译项目的源代码
    • test-compile:编译测试源代码
    • test:使用合适的单元测试框架运行测,这些测试框架不会被打包和部署
    • package:接收编译好的代码,打包成可发布的格式,jar或者war
    • install:将包安装至本地仓库,以便其他项目依赖
  • site lifecycle:站点

整合两个模块:先把其中一个放到本地仓库或者中央仓库,然后添加依赖即可

继承

子工程继承父工程(一般父工程只做依赖相关的,不写代码)

新建的时候Package设置为pom格式

xxx
xxx
xxx
pom	



	
        
        	xxx
            xxx
            xxx
            compile
        
    


 
    
        
        xxx
        xxx
    

此时子工程

	
xxx




    
	xxx
    xxx
    xxx
    
    
    ../B/pom.xml

聚合

Maven能够识别的项目:自身包含,本地仓库中的

在一个总工程中配置聚合,聚合的配置只能配置在(打包方式为pom)的Maven工程中


     
	../Maven_01
    ../Maven_02

配置完聚合之后,以后只要操作总工程,则会自动操作更改聚合中配置过的工程

总结

聚合:Maven将一个大工程拆分为若干个子工程(子模块),聚合可以将拆分为多个子工程合起来

继承:父->子,可以通过父工程,统一管理依赖的版本

其他操作
  • intellij中配置maven
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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