| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 动力节点笔记-Maven 自动化的构建工具 -> 正文阅读 |
|
[Java知识库]动力节点笔记-Maven 自动化的构建工具 |
Maven 自动化的构建工具https://www.bilibili.com/video/BV1x5411P7Hh?spm_id_from=333.999.0.0 第一章 Maven简介1.1 软件开发中的阶段需要分析: 分析项目具体完成的功能,有什么要求, 具体怎么实现。 设计阶段:根据分析的结果, 设计项目的使用什么技术, 解决难点。 开发阶段:编码实现功能。 编译代码。自我测试 测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试报告。 项目的打包,发布阶段: 给用户安装项目 1.2 Maven能做什么1)项目的自动构建,帮助开发人员做项目代码的编译,测试, 打包,安装,部署等工作。 2)管理依赖(管理项目中使用的各种jar包)。 ? 依赖:项目中需要使用的其他资源, 常见的是jar 。 比如项目要使用mysql驱动。我们就说项目依赖mysql驱动。 1.3 没有使用maven怎么管理依赖管理jar ,需要从网络中单独下载某个jar 需要选择正确版本 手工处理jar文件之间的依赖。 a.jar里面要使用b.jar的类。 1.4 什么是mavenmaven是apache基金会的开源项目,使用java语法开发。 Maven 这个单词的本意是:专家,内行。读音是['me?v(?)n] 或 ['mevn]。 maven是项目的自动化构建工具。 管理项目的依赖。 1.5 maven中的概念①POM 1.6 maven工具的获取和安装地址: http://maven.apache.org/ 从中下载 .zip文件。 使用的 apache-maven-3.3.9-bin.zip 安装:
maven解压后的目录结构 maven的其他安装方式:
第二章Maven的核心概念2.1 约定的目录结构maven项目使用的大多人 遵循的目录结构。 叫做约定的目录结构。 一个maven项目是一个文件夹。 比如项目叫做Hello
maven的使用方式: 1)maven可以独立使用: 创建项目,编译代码,测试程序,打包,部署等等 2)maven和idea一起使用:通过idea借助maven,实现编码,测试,打包等等 2.2 POMPOM: Project Object Model 项目对象模型, maven把项目当做模型处理。 操作这个模型就是操作项目。 maven通过pom.xml文件实现 项目的构建和依赖的管理。
2.3 坐标坐标组成是 groupid, artifiactId, version。 坐标概念来自数学。· 坐标作用:确定资源的,是资源的唯一标识。 在maven中,每个资源都是坐标。 坐标值是唯一的。简称叫gav
项目使用gav: 1.每个maven项目,都需要有一个自己的gav 2.管理依赖,需要使用其他的jar ,也需要使用gav作为标识。 搜索坐标的地址: https://mvnrepository.com/ 2.4 依赖 dependency依赖:项目中要使用的其他资源(jar)。 需要使用maven表示依赖,管理依赖。 通过使用dependency和gav一起完成依赖的使用 需要在pom.xml文件中,使用dependencies 和dependency, 还有gav 完成依赖的说明。 格式:
2.5 仓库仓库是存东西的,maven的仓库存放的是:
仓库的分类:
maven使用仓库: maven自动使用仓库, 当项目启动后, 执行了maven的命令, maven首先访问的是本地仓库, 从仓库中获取所需的jar, 如果本地仓库没有 ,需要访问私服或者中央仓库或者镜像。 2.6 maven的生命周期,插件和命令maven的生命周期: 项目构建的各个阶段。 包括 清理, 编译, 测试,报告,打包,安装,部署 插件:要完成构建项目的各个阶段,要使用maven的命令, 执行命令的功能是通过插件完成的。插件就是jar,一些类。 命令: 执行maven功能是 由命令发出的。 比如 mvn compile 单元测试(junit): junit是一个单元测试的工具, 在java中经常使用。 单元:在java中指的是方法。 一个方法就是一个单元, 方法是测试的最小单位。 作用:使用junit去测试方法是否完成了要求。 开发人员自测。 使用单元测试: 1)加入junit的依赖(一些类和方法)
2)在src/test/java 目录中创建测试类文件。 写测试代码 单元测试使用的建议: ? 1.测试类的定义, 名称一般是Test+要测试的类名称 ? 2.测试类它的包名和要测试的类包名一样。 ? 3.在类中定义方法,要测试代码。 ? 方法的定义:public方法, ? 没有返回值 ? 方法名称自定义(建议 Test+测试的方法名称) ? 方法没有参数 4.在测试类中的方法,可以单独执行。 测试类也可以单独执行 5.在方法的上面加入@Test 命令: 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
6)mvn install : 把生成的打包的文件 ,安装到maven仓库。 ? 插件: maven-install-plugin 版本 2.4 。 把生成的jar文件安装到本地仓库。 ? 查看查看中的jar文件:
2.7 自定义配置插件在pom.xml文件中, build标签中。设置插件
第三章 Maven和idea的集成3.1 idea中集成mavenidea中有一个自带的maven。 我们要让idea使用自己安装的maven。
设置项: -DarchetypeCatalog=internal 2) File - Other Settings 新版 同上的设置 3.2 创建基于maven的普通java项目3.3 创建web项目3.4 导入module到idea4. 第四章 依赖管理依赖范围:使用scope表示依赖的范围。 依赖范围表示: 这个依赖(jar和里面类)在项目构建的那个阶段起作用。 依赖范围scope :
5. 第五章 常用设置1)讲的是properties它里面的配置
在properties定义标签,这个标签就是一个变量, 标签的文本就是变量的值。 使用全局变量表示 多个依赖使用的版本号。 使用步骤: 1.在properties标签中,定义一个标签,指定版本的值
3)使用资源插件 处理的配置文件的信息, maven默认处理配置文件 ①:maven会把src/main/resources目录中的文件, 拷贝到target/classes目录下 ②:maven只处理src/main/java目录中的 .java文件,把这些java文件编译为class,拷贝到 target/classes目录中。 不处理其他文件。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:28:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |