Java学习之Maven

一、Maven

1. 依赖管理
  • 传统的crm项目的jar包是在项目中
  • maven开发的crm项目的jar包没有存储在项目中,而jar包存储在jar包仓库中,项目中仅保留了jar包的坐标,保存坐标的文件就是pom.xml
  • 当使用maven时,maven会首先去本地仓库寻找jar包,如果没有,在联网的状态去会自动去中央仓库下载jar包
2. 安装
  • 首先去官网下载apache-maven-3.6.1-bin.zip压缩包
  • 下载完成后将压缩包解压到没有中文路径的目录下
  • 设置环境变量:maven的运行是要依赖Java的,所以一定要确保环境变量中有JAVA_HOME
    在这里插入图片描述
    在这里插入图片描述
  • 验证是否安装成功:mvn -v
    在这里插入图片描述
3. maven项目标准目录结构
  • src/main/java目录:核心代码部分
  • src/main/resources目录:配置文件部分
  • src/test/java目录:测试代码部分
  • src/test/resources目录:测试配置文件
  • src/main/webapp目录:放置页面资源,包括js、css、图片资源等

二、常用命令

  • 清除项目编译信息,也就是删除target目录,在重新编译前执行
mvn clean
  • 编译
mvn compile
  • 编译测试代码部分
mvn test
  • 打包:打包会将main目录下的代码和test目录下的代码都进行编译
mvn package
  • 安装:install命令会将项目进行打包,并将打包后的文件安装到本地仓库
mvn install
  • 发布
mvn deploy

三、Maven配置

  • 在conf/settings.xml中配置本地仓库路径
    在这里插入图片描述
  • 在idea的settings中搜索maven,进行配置
    在这里插入图片描述

四、创建maven项目

1. 使用骨架构建maven项目
  • 进入idea界面,选择Create New Project,并选择创建maven项目,并按照下图进行选择
    在这里插入图片描述
  • 填写项目相关信息
    在这里插入图片描述
  • 之后一直点击Next,直到项目被idea打开
  • 进入idea之后,右下角会有选择Import Changes,点击导入,idea会自动下载项目所需的jar包
  • 使用骨架创建的项目是没有resources目录的,需要手动去创建,并将目录设置为配置文件目录,详见下图
    在这里插入图片描述
2. 不使用骨架构建maven项目(推荐使用)
  • 不使用骨架,就是在创建的时候直接点击Next
    在这里插入图片描述
  • 之后的方式都跟使用骨架一样,直到idea打开项目
  • 项目打开后,Import Changes
  • 最后可以看到项目的目录结构就已经创建完成了,与骨架创建的不同,不使用骨架的时,项目是自带resources目录的,详见下图
    在这里插入图片描述
3. 配置项目依赖jar包
  • 打开pom.xml文件,该文件用于存放jar包的坐标
  • 首先先写一个dependencies标签,在这个标签内部可以写多个dependency标签,每一个dependency标签就是一个jar包的坐标,在dependency标签内部根据idea提示将所需jar包的信息补充完整
<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
        </dependency>
</dependencies>
  • 如果jar包找不到,可以百度“maven中央仓库”,在仓库中搜索jar包,选择任意版本,找到jar包的坐标,并复制到pom中
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
4. 解决jar包冲突
  • 在pom.xml中使用scope标签,使jar包仅在写代码时生效,项目正式运行的时候不生效
<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <!--仅在写代码时生效-->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>provided</scope>
        </dependency>
</dependencies>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值