写点什么

Maven 的核心概念,java 面试高频知识点

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:2411 字

    阅读完需:约 8 分钟

Hello 项目文件夹


\src


\main 叫做主程序目录(完成项目功能的代码和配置文件)


\java 源代码(包和相关的类定义)


\resources 配置文件


\test 放置测试程序代码的(开发人员自己写的测试代码)


\java 测试代码的(junit)


\resources 测试程序需要的配置文件


\pom.xml maven 的配置文件, 核心文件


maven 的使用方式:


1)maven 可以独立使用: 创建项目,编译代码,测试程序,打包,部署等等


2)maven 和 idea 一起使用:通过 idea 借助 maven,实现编码,测试,打包等等


2. POM




POM: Project Object Model 项目对象模型, maven 把项目当做模型处理。 操作这个模型就是操作项目。


maven 通过 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/xsd/maven-4.0.0.xsd">


<modelVersion>4.0.0</modelVersion>


<groupId>com.bjpowernode</groupId>


<artifactId>ch01-maven</artifactId>


<version>1.0-SNAPSHOT</version>


<properties>


<java.version>1.8</java.version>


<maven.compiler.source>1.8</maven.compiler.source>


<maven.compiler.target>1.8</maven.compiler.target>


</properties>


</project>


3. 坐标




坐标组成是 groupid, artifiactId, version。 坐标概念来自数学。


坐标作用:确定资源的,是资源的唯一标识。 在 maven 中,每个资源都是坐标。 坐标值是唯一的。简称叫 gav


<groupId>com.bjpowernode</groupId>


<artifactId>ch01-maven</artifactId>


<version>1.0-SNAPSHOT</version>


<packaging>jar</packaging>


groupId: 组织名称,代码。 公司,团体或者单位的标识。 这个值常使用的公司域名的倒写。


例如:学校的网站 www.bjpowernode.com, groupId: com.bjpowernode


如果项目规模比较大, 也可以是 域名倒写+大项目名称。


例如: www.baidu.com , 无人车: com.baidu.appollo


artifactId:项目名称, 如果 groupId 中有项目, 此时当前的值就是子项目名。 项目名称是唯一的。


version:版本, 项目的版本号, 使用的数字。 三位组成。 例如 主版本号.次版本号.小版本号, 例如: 5.2.5。


注意:版本号中有-SNAPSHOT, 表示快照,不是稳定的版本。


packaging 项目打包的类型, 有 jar ,war, ear, pom 等等 默认是 jar


项目使用 gav:


1.每个 maven 项目,都需要有一个自己的 gav


2.管理依赖,需要使用其他的 jar ,也需要使用 gav 作为标识。


搜索坐标的地址: https://mvnrepository.com/


4.依赖 dependency




依赖:项目中要使用的其他资源(jar)。


需要使用 maven 表示依赖,管理依赖。 通过使用 dependency 和 gav 一起完成依赖的使用


需要在 pom.xml 文件中,使用 dependencies 和 dependency, 还有 gav 完成依赖的说明。


格式:


<dependencies>


<dependency>


<groupId>log4j</groupId>


<artifactId>log4j</artifactId>


<version>1.2.17</version>


</dependency>


<dependency>


<groupId>mysql</groupId>


<artifactId>mysql-connector-java</artifactId>


<version>5.1.16</version>


</dependency>


</dependencies>


maven 使用 gav 作为标识,从互联网下载依赖的 jar。 下载到你的本机上。 由 maven 管理项目使用的这些 jar


5. 仓库




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


1. maven 工具自己的 jar 包。


2. 第三方的其他 jar, 比如项目中要使用 mysql 驱动。


3. 自己写的程序,可以打包为 jar 。 存放到仓库。


仓库的分类:


1. 本地仓库(本机仓库): 位于你自己的计算机, 它是磁盘中的某个目录。


本地仓库:默认路径,是你登录操作系统的账号的目录中/.m2/repository


C:\Users\NING MEI.m2\repository


修改本地仓库的位置:修改 maven 工具的配置文件(maven 的安装路径\conf\setting.xml)


? 步骤:


? 1)创建一个目录,作为仓库使用。 目录不要有中文和空格。 目录不要太深。


? 例如: D:\openrepository


? 2)修改 setting.xml 文件,指定 D:\openrepository 这个目录


<localRepository>D:/openrepository</localRepository>


? 3) 把我给你提供的 仓库的资源 拷贝到 D:/openrepository


2. 远程仓库: 需要通过联网访问的


1)中央仓库: 一个 ftp 服务器, 存放了所有的资源。


2)中央仓库的镜像: 就是中央仓库的拷贝。 在各大主要城市都有镜像。


3)私服:在局域网中使用的。 私服就是自己的仓库服务器。 在公司内部使用的。


maven 使用仓库: maven 自动使用仓库, 当项目启动后, 执行了 maven 的命令, maven 首先访问的是本地仓库, 从仓库中获取所需的 jar, 如果本地仓库没有 ,需要访问私服或者中央仓库或者镜像。



6. maven 的生命周期,插件和命令




maven 的生命周期: 项目构建的各个阶段。 包括 清理, 编译, 测试,报告,打包,安装,部署


插件:要完成构建项目的各个阶段,要使用 maven 的命令, 执行命令的功能是通过插件完成的。插件就是 jar,一些类。


命令: 执行 maven 功能是 由命令发出的。 比如 mvn compile


单元测试(junit):


junit 是一个单元测试的工具, 在 java 中经常使用。


单元:在 java 中指的是方法。 一个方法就是一个单元, 方法是测试的最小单位。


作用:使用 ju


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


nit 去测试方法是否完成了要求。 开发人员自测。


使用单元测试:


1)加入 junit 的依赖(一些类和方法)


<dependency>


<groupId>junit</groupId>


<artifactId>junit</artifactId>


<version>4.12</version>


<scope>test</scope>


</dependency>


2)在 src/test/java 目录中创建测试类文件。 写测试代码


单元测试使用的建议:


? 1.测试类的定义, 名称一般是 Test+要测试的类名称


? 2.测试类它的包名和要测试的类包名一样。


? 3.在类中定义方法,要测试代码。


? 方法的定义:public 方法,


? 没有返回值


? 方法名称自定义(建议 Test+测试的方法名称)

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Maven的核心概念,java面试高频知识点