Maven(项目管理工具)

1. 简介

  • 概念
    • Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
    • Maven是用Java语言编写的。他管理的东西统统以面向对象的形式进行设计,最终他把一个项目看成一个对象,而这个对象叫做POM(project object model),即项目对象模型
  • Maven的作用
    • 项目构建:提供标准的、跨平台的自动化项目构建方式
    • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题
    • 统一开发结构:提供标准的、统一的项目结构如下
      在这里插入图片描述
  • 各目录存放资源类型说明
    • src/main/java:项目java源码
    • src/main/resources:项目的相关配置文件(比如mybatis配置,xml映射配置,自定义配置文件等)
    • src/main/webapp:web资源(比如html,css,js等)
    • src/test/java:测试代码
    • src/test/resources:测试相关配置文件
    • src/pom.xml:项目pom文件

2. 下载和安装

2.1 下载
2.2 安装
  • 解压即安装
  • 解压完成后目录结构如下
    在这里插入图片描述
  • 目录结构说明
    • bin:可执行程序目录,
    • boot:maven自身的启动加载器
    • conf:maven配置文件的存放目录
    • lib:maven运行所需库的存放目录
2.3 环境配置
  • 我的电脑-------->属性--------->高级系统设置---------->新建系统变量MAVEN_HOME,变量值为安装路径
  • 配置path变量,新建%MAVEN_HOME%\bin

3. 仓库

3.1 介绍
  • 用于存储资源,包含各种jar包
3.2 分类
  • 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
  • 远程仓库:
    • 中央仓库:maven团队自身维护的仓库,属于开源的
    • 私服:各公司/部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源

私服的作用

  • 保存具有版权的资源,包含购买或自主研发的jar
  • 一定范围内共享资源,能做到仅对内不对外开放
3.3 坐标
  • Maven中的坐标用于描述仓库中资源的位置
  • Maven坐标中主要组成
    • groupId:定义当前资源隶属组织名称(通常是域名反写,如:org.mybatis;com.itheima)
    • artifactId:定义当前资源的名称(通常是项目或模块名称,如:crm,sms)
    • version:定义当前资源的版本号

packaging:定义资源的打包方式,取值一般有如下三种

  • jar:该资源打成jar包,默认是jar
  • war:该资源打成war包
  • pom:该资源是一个父资源(表明使用maven分模块管理),打包时只生成一个pom.xml不生成jar或其他包结构
  • 查询资源坐标
    • 如果要查询maven某一个资源的坐标,我们通常可以去maven的仓库进行查询,在网站https://mvnrepository.com/中直接搜索想要的资源,点击进行查看
3.4 仓库配置
  • 开发者要在自己电脑上做开发,首先要做的就是配置本地仓库
  • 默认情况下maven本地仓库的位置,在maven的配置文件settings.xml中可以看到
    <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
    -->
    
  • 默认情况下,localRepository标签是在注释中的,将该标签挪出注释,修改其中的值,指定目录作为本地仓库的位置
  • maven默认连接的远程仓库位置站点并不在国内,下载速度很慢,我们一般配置为国内的站点,例如
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    

4. maven项目

4.1 Maven工程目录结构

在这里插入图片描述

4.2 手动搭建maven项目
  • 在D盘下创建目录mvnproject并进入该目录,作为我们的操作目录
  • 创建我们的maven项目,创建一个目录project-java作为我们的项目文件夹,并进入到该目录
  • 创建java代码(源代码)所在目录,即创建src/main/java
  • 创建配置文件所在目录,即创建src/main/resources
  • 创建测试源代码所在目录,即创建src/test/java
  • 创建测试存放配置文件存放目录,即src/test/resources
  • src/main/java中创建一个包(注意在windos文件夹下就是创建目录)com/itheima,在该目录下创建Demo.java文件,作为演示所需java程序,内容如下
    package com.itheima;
    
    public class Demo{
         
    	public String say(String name){
         
    		System.out.println("hello "+name);
    		return "hello "+name;
    	}
    }
    
  • src/test/java中创建一个测试包(目录)com/itheima,在该包下创建测试程序DemoTest.java
    package com.itheima;
    
    import org.junit.*;
    public class DemoTest{
         
    	
    	@Test
    	public void testSay(){
         
    		Demo d = new Demo();
    		String ret = d.say("maven");
    		Assert.assertEquals("hello maven",ret);
    	}
    }
    
  • project-java/src下创建pom.xml文件,编辑如下
    <?xml version="1.0" encoding="UTF-8"?>
    <project
        xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.itheima</groupId>
        <artifactId>project-java</artifactId>
        <version>1.0</version>
        <packaging>jar</packaging>
    
        <dependencies>
            
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值