软件使用:Maven介绍 + 配置

声明:本文有些图片是借用他人的优秀博客

1.maven介绍

        定义:Maven 是一个项目管理工具,它包含了一个 项目对象模型 (POM:Project Object Model),一组标准集合,一个项目                    生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期                      阶段(phase)中插件(plugin)目标(goal)的逻辑。
        功能:构建工程,管理jar包,编译代码,自动运行单元测试,打包,生成报表,部署项目,生成Web站点


2.maven使用

        下载:http://maven.apache.org/download.cgi
        安装:解压到非中文目录

bin: 

  存放了 maven 的命令,比如我们前面用到的mvn tomcat:run

boot: 

 存放了一些 maven 本身的引导程序,如类加载器等

conf: 

 存放了 maven 的一些配置文件,如 setting.xml 文件

lib:   

 存放了 maven 本身运行所需的一些 jar 包

      配置:1.环境变量     添加:  MAVEN_HOME        D:\apache-maven-3.5.2                                                                                                                                    Path             %MAVEN_HOME%\bin                                                                                                                                    验证: mvn -v

                 2.本地仓库位置修改:conf\setting:localRepository

  • <!-- 本地路径 -->
    <localRepository>G:/repo</localRepository>
    

                 3.中央仓库位置修改:conf\setting:mirrors

  •     <!-- 个人修改 开始-->
        <!-- 阿里云仓库 -->
    	<mirror>
    		<id>aliyunmaven</id>
    		<mirrorOf>*</mirrorOf>
    		<name>阿里云公共仓库</name>
    		<url>https://maven.aliyun.com/repository/public</url>
    	</mirror>
    <!-- 个人修改 结束-->

        仓库:三类:本地仓库  远程仓库  中央仓库
            1.本地仓库:用来存储从远程仓库或中央仓库下载的插件和jar包,项目使用一些插件或jar包,优先从本地仓库查找
                                  默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows 用户目录。
                  配置: MAVE_HOME/conf/settings.xml 文件中配置本地仓库位置
                  

            2.远程仓库:又叫私服。远程仓库可以在互联网内也可以在局域网内
            3.中央仓库:地址https://mvnrepository.com/,服务于整个互联网,由Maven团队自己维护,里面存储了非常全的 jar包,它包含了世界上大部分流行的开源项目构件。
            项目搜索jar包顺序: 本地仓库   --->   远程仓库(公司的私服)  --->  中央仓库

        IDEA配置maven

        maven工程目录

  •                         图一:
  •                         图二:

                                src/main/java            —— 存放项目的.java 文件
                                src/main/resources  —— 存放项目资源文件,如 spring, hibernate 配置文件
                                src/test/java              —— 存放所有单元测试.java 文件,如 JUnit 测试类
                                src/test/resources    —— 测试资源文件
                                target                         —— 项目输出位置,编译后的class 文件会输出到此目录
                                pom.xml                    ——maven 项目核心配置文件


3.maven命令

        1.clean         工程的清理命令,执行 clean 会删除 target 目录及内容
        2.compile     工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下
        3.test            工程的测试命令,会执行src/test/java下的单元测试类
        4.package    工程的打包命令,对于 java 工程执行 package 打成jar包,对于web工程打成war包
        5.install        工程的安装命令,执行 install 将 maven 打成jar包或war包发布到本地仓库 当jar包使用

maven下载基本jar包:mvn help:system


4.POM.XML基本配置

<project >      文件的根节点 .
<modelversion >  pom.xml 使用的对象模型版本
<groupId >      项目名称,一般写项目的域名
<artifactId >   模块名称,子项目名或模块名称
<version >      产品的版本号 .
<packaging >    打包类型,一般有 jar、war、pom 等
<name >         项目的显示名,常用于 Maven 生成的文档。
<description >  项目描述,常用于 Maven 生成的文档
<dependencies>  项目依赖构件配置,配置项目依赖构件的坐标
<build>         项目构建配置,配置编译、运行插件等。

jar包配置搜索   官方地址:http://mvnrepository.com/


5.IDEA创建web项目(图片借用)

 Next

 next配置好项目的本地仓库和pom文件位置

补充完善 maven web模板项目结构 

 

 

next 在main下新建test测试文件夹,再在此文件夹下新建Java测试源码文件夹和resource测试资源文件夹  

也可以右键项目-选择Open Module Settings打开项目配置页面更改 

 配置依赖jar包 

 项目A引用项目B:

  1. 项目B mvn clean install  部署到本地仓库
  2. 在项目A的pom中添加项目B的依赖参数(项目B的pom文件中找)
  3. 项目B就是一个jar包,可以在A中调用

6.依赖管理

6.1 scope 依赖范围 

  •  scope用来控制依赖范围关系 :

  • compile:默认编译依赖范围。对于编译,测试,运行都有效
  • test:只对于测试classpath有效
  • provided:已提供依赖范围,对于编译,测试有效,对于运行无效    
  • runtime:运行时提供。例:jdbc驱动

6.2依赖传递 

  • 直接依赖和间接依赖

  • test2 依赖 test1,test3依赖test2
  • test2 直接依赖 test1,test3间接依赖test1
  •  
  • 可选依赖 

  • <optional> true/false<optional> 是否可选,也可以理解为是否向下传递。
  •  
  •  排除依赖

  • exclusions可用于排除依赖

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值