第 2 章 Maven的核心概念

本文介绍了Maven的核心概念,包括约定的工程目录结构、仓库管理和POM文件。Maven的目录结构遵循特定约定,如src/main/java和src/test/java存放源代码和测试代码。仓库用于存储构建所需的各种构件,包括插件和jar包,分为本地仓库和远程仓库。远程仓库中,中央仓库是最权威的,而私服常用于局域网内。POM文件是Maven项目的核心,用于描述项目信息和依赖。Maven的命令行工具用于执行构建任务,如`mvn compile`和`mvn install`。
摘要由CSDN通过智能技术生成

2.1 Maven工程约定目录结构

  • maven中约定的目录结构,约定是大家都遵循的一个规则。

  • 每一个 maven 项目在磁盘中都是一个文件夹(项目-Hello)
    Hello
    |—src
    |—|---main
    |—|---|—java
    |—|---|—resources
    |—|---test
    |—|---|—java
    |—|---|—resources
    |—pom.xml

  • 说明:

    • Hello:根目录,也就是工程名
    • src:源代码
      • main:放主程序java代码和配置文件
        • java:主程序的java源码
        • resources:主程序的配置文件
      • test:放测试程序代码和文件的
        • java:测试程序的java源码
        • resources:测试程序的配置文件
    • pom.xml:Maven工程的核心配置文件。

2.1.1 第一个 maven工程

  • 按照如下步骤,实现第一个 maven 项目,以 maven推荐的约定方式创建目录,类文件。
  1. 某个目录中创建文件夹 Hello,在 Hello中创建子目录 src
  2. 拷贝 pom.xml 到 Hello目录和 src是同级放置的。
  3. 进入 src目录,创建 main、test目录
  4. 进入 main目录,创建 java、resources目录。
  5. 进入 java 目录,创建 目录 com/mycode/
  6. 在 com/mycode/目录下创建 HelloMaven.java文件
package com.mycode;
public class HelloMaven {
   
	public int add(int n1, int n2) {
   
		return n1 + n2;
	}

	public static void main(String args[]){
   
		HelloMaven hello = new HelloMaven();
		int res = hello.add(10, 20);
		System.out.println("10 + 20 = " + res);
	}
}
  1. 进入到 Hello目录在,执行 mvn compile,编译 src/main 目录下的所有java文件。
    疑问:
    ①为什么要下载?
    maven工具执行的操作需要很多的插件(java类–jar文件)完成的
    ②下载了什么东西?
    jar文件----叫做插件----插件是完成某些功能
    ③下载的东西存在哪?
    默认仓库(本机仓库):
    C:\Users\Jay.m2\repository
    Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar
    https://repo.maven.apache.org/:中央仓库的地址
    执行 mvn compile,结果是在项目的根目录下生成 target 目录(结果目录),maven 编译的 java 程序,最后的 calss 文件都放在 target 目录中
  2. 进入到 target/classes目录执行 java com.mycode.HelloMaven

设置本机存放资源的目录位置(设置本机仓库):

  1. 修改 maven 的配置文件,maven 安装目录/conf/settings.xml
    先备份 settings.xml
  2. 修改 <localRepository> 来指定你的目录(不要使用中文目录)
    D:\Maven\maven_repository
    在这里插入图片描述

2.2 仓库

2.2.1 仓库的概念

现在我们对 maven工程有一个大概的认识了,那现在思考一个问题, maven怎么就这么神奇,我们写完的工程交给他之后,他就能够自动帮我们管理,我们依赖的 jar 包它从哪儿获取呢? 有同学说已经安装了,在它的安装包里啊,大家可以看一下 maven下载下来才 8M,我们需要的 jar包有时候都几百兆甚至几个 G,它从哪儿弄去呢?其实, maven 有仓 库的概念。 在 Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven核心程序仅仅定义了自动化构建项目的生命周期,但具体的构建工作是由特定的构件完成的。而且为了提高构建的效率和构件复用, maven把所有的构件统一存储在某一个位置,这个位置就叫做仓库。

2.2.2 仓库存什么

仓库是存放东西的,Maven仓库存的是:

  1. Maven 的插件,插件也是一些 jar,这些,这些 jar 可以完成一定的功能。
  2. 我们自己开发项目的模块
  3. 第三方框架或工具的 jar 包

<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值