Maven基础速成笔记一

1.1.1Maven

1)项目的自动化构建,帮助开发人员做项目代码的编译,测试, 打包,安装,部署等工作。

2)管理依赖:管理项目中使用的各种jar包

1.1.2Maven中的一些概念

①坐标

坐标组成是 groupid, artifiactId, version。

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

  <!--组织名称,如:com.yhg.maven -->
  <groupId>com.yhg.maven</groupId>
  <!--项目名称,项目名称是唯一的 -->
  <artifactId>ch01-maven</artifactId>
  <!-- 版本号-->
  <version>1.0-SNAPSHOT</version>
  <!--packaging 项目打包的类型,有jar,war,ear,pom-->
  <packaging>jar</packaging>

tips:每个maven项目,都需要有自己的gav,依赖坐标查询下载网站 https://mvnrepository.com/
②依赖管理

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

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

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

格式:

	<dependencies>
  
    <!-- 日志 -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    
    <!-- mysql驱动 -->
     <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.16</version>
    </dependency>

</dependencies> 

③仓库管理
1.maven的仓库存放的是:

  1.  		maven工具自己的jar包。
    
  2.  		第三方的其他jar, 比如项目中要使用mysql驱动。
    
  3.  		自己写的程序,可以打包为jar 。 存放到仓库。
    

仓库的分类:

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

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

         C:\Users\yhg17\.m2\repository
    

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

    ​ 步骤:

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

    ​ 例如: D:\openrepository

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

        <localRepository>D:/openrepository</localRepository>
    

    在这里插入图片描述

2 远程仓库: 需要通过联网访问的(仅需了解)

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

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

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

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

1.2.1常规maven工具的获取和安装

地址: http://maven.apache.org/ 从中下载
我这里使用的版本是pache-maven-3.3.9-bin.zip大家可以点击下载
安装:

  1. 确定JAVA_HOME 指定jdk的安装目录, 如果没有JAVA_HOME, 需要在windows的环境变量中创建JAVA_HOME, 它的值是jdk的安装目录(学习完java基础的都知道java环境变量的配置,这里就不过多介绍了)

  2. 解压缩 apache-maven-3.3.9-bin.zip ,把解压后的文件放到一个目录中。

    目录的路径不要有中文, 不要有空格。
    在这里插入图片描述

  3. 把maven安装目录中下的bin的路径添加到path中
    在这里插入图片描述

  4. 测试maven的安装。 在命令行执行 mvn -v
    若配置成功则出现

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: D:\tool\apache-maven-3.3.9\bin\..
Java version: 1.8.0_271, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_271\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

1.2.2常规第一个maven项目的创建

要创建第一个常规的maven的项目,就必须了解maven项目的约定结构目录

	项目文件夹
		\src   
			\main
				\java
				\resources
			\test
				\java
				\resources
		\pom.xml

然后开始创建第一个maven项目,并命名为Hello

①先在D盘下创建Hello的文件夹,然后按照maven约定文件目录开始创建文件夹,结果如图所示
在这里插入图片描述
pom.xml文件存放在资料中
②要运行maven项目,就必须了解pom.xml文件的作用,下面将介绍pom.xml文件

Project Object Model 项目对象模型, maven把项目当做模型处理。 操作这个模型就是操作项目。maven通过pom.xml文件实现 项目的构建和依赖的管理。而且有些常用设置

<?xml version="1.0" encoding="UTF-8"?>

<!-- project是根标签, 后面的是约束文件 -->
<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">
    
    
  <!-- pom模型的版本, 就是4.0.0 -->  
  <modelVersion>4.0.0</modelVersion>

  <!-- 坐标,简称gav -->  
  <!-- java源代码所在的包名package -->
  <groupId>com.yhg</groupId>
  <!-- 给项目起名称 -->
  <artifactId>ch01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--SNAPSHOT是快照版本 -->

  <!-- properties是配置-->
  <properties>
  	
     <java.version>1.8</java.version>
     <!--设置编译代码jdk版本 -->
     <maven.compiler.source>1.8</maven.compiler.source>
     <!--设置源码运行jdk版本 -->
     <maven.compiler.target>1.8</maven.compiler.target>
     <!--设置项目构建使用的编码,防止中文乱码 -->
     <project.build.sourceEncoding>UTF-8</project.build.scourceEncoding>
     <!--生成报告的编码 -->  
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</project>

③在pom.xml配置文件中进行对项目配置,编写测试项目代码.

	首先在主程序目录下的java文件夹手动创建java包,和测试代码

在这里插入图片描述

package com.yhg;

public class HelloMaven{

	public int addTest(int n1,int  n2 ){
		System.out.println("HelloMaven addTest");
		return n1+n2;
	}

	public static void main(String args[]){
		HelloMaven hello=new HelloMaven();
		int res=hello.addTest(10,20);
		System.out.println("在main方法中执行了hello的addTest方法"+res);
	}
}
	配置pom.xm配置文件

打开pom.xml文件,然后在坐标gav位置配置

在这里插入图片描述

④执行maven项目,要想执行常规maven项目就必须了解maven的一些执行命令
命令:

1) mvn clean: 清理命令, 作用删除以前生成的数据, 删除target目录。

​ 插件: maven-clean-plugin , 版本是 2.5

2)mvn compile:编译命令,执行的代码编译, 把src/main/java目录中的java代码编译为class文件。

​ 同时把class文件拷贝到 target/classes目录。 这个目录classes是存放类文件的根目录(也叫做类路径,classpath)

​ 插件: maven-compiler-plugin 版本3.1。 编译代码的插件

​ maven-resources-plugin 版本2.6 。 资源插件, 处理文件的。 作用是把src/main/resources目录中的

​ 文件拷贝target/classes目录中。

3)mvn test-compile: 编译命令, 编译src/test/java目录中的源文件, 把生成的class拷贝到target/test-classes目录。同时把src/test/resources目录中的文件拷贝到 test-clasess目录

​ 插件: maven-compiler-plugin 版本3.1。 编译代码的插件

​ maven-resources-plugin 版本2.6 。 资源插件, 处理文件的

4)mvn test:测试命令, 作用执行 test-classes目录的程序, 测试src/main/java目录中的主程序代码是否符合要求。

​ 插件: maven-surefire-plugin 版本 2.12.4

5)mvn package:打包,作用是把项目中的资源class文件和配置文件都放到一个压缩文件中, 默认压缩文件是jar类型的。 web应用是war类型, 扩展是jar,war的。

​ 插件:maven-jar-plugin 版本 2.4。 执行打包处理。 生成一个jar扩展的文件, 放在target目录下.

​ 打包的文件包含的是 src/main目录中的所有的生成的class和配置文件和test无关。

​ 生成的是 ch01-maven-1.0-SNAPSHOT.jar

  <groupId>com.bjpowernode</groupId>
  <artifactId>ch01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
打包的文件名: artifactId-version.packaging

6)mvn install : 把生成的打包的文件 ,安装到maven仓库。

​ 插件: maven-install-plugin 版本 2.4 。 把生成的jar文件安装到本地仓库。

​ 查看查看中的jar文件:

  <groupId>com.bjpowernode</groupId>
  <artifactId>ch01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

groupId中的值, 如果有 "." 前和后都是独立的文件夹。 com\bjpowernode
artifactId, 独立的文件夹
version,独立的文件夹
了解完maven的常规命令,开始将我们的Hello项目编译,首先进入到Hello项目根目录下(及存放pom.xml配置文件的目录)
打开cmd,输入编译命令mvn compile,或者可以直接进入cmd,一直cd进入Hello项目根目录下

在这里插入图片描述

编译成功后会生成一个target文件,里面存放的是编译后的生成的文件

在这里插入图片描述
如要执行编译好的文件,则在target目录下的classes文件夹中使用命令行执行编译好的文件。输入java com.yhg.HelloMaven命令行
在这里插入图片描述

这样一个简单的maven项目就执行好了。这里显示为中文乱码,这个问题是因为源码使用utf-8,而编译maven项目使用的是但是maven编译的时候使用GBK标准,需要对pom.xml文件夹配置。

 		<!-- 解决文件拷贝时的编码 -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- 解决编译时中文乱码-->
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>

这时需要将target文件夹删除,或者使用 mvn clear命令清除然后重新编译。
在这里插入图片描述
⑥单元测试(junit):

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

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

作用:使用junit去测试方法是否完成了要求。 开发人员自测。

使用单元测试:

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+测试的方法名称)

​ 方法没有参数

4.在测试类中的方法,可以单独执行。 测试类也可以单独执行

5.在方法的上面加入@Test

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值