IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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是什么

maven的核心概念:Maven如何实现自动化构建

Maven约定的目录结构

POM

坐标

依赖管理

仓库管理

生命周期

插件和目标

继承

聚合

maven的安装

本地(Mac)

IDEA

maven的常用命令总结

Maven实战

使用IDEA构建

?使用后台命令构建


maven是什么

Maven?是?Apache?软件基金会组织维护的一款自动化构建工具,专注服务于?Java?平台的项目构建和依赖管理。

构建(build)是面向过程的(从开始到结尾的多个步骤),涉及到多个环节的协同工作。

构建过程中的各个环节:清理、编译、测试、报告、打包、安装、部署。

①清理:删除以前的编译结果,为重新编译做好准备。

②编译:将Java源程序编译为字节码文件(java所有平台都能运行)。

③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。

④报告:在每一次测试后以标准的格式记录和展示测试结果。

打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java?工程对应?jar?包,Web工程对应war包(打包会自动帮你执行测试编译)。

安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。

⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行

maven的核心概念:Maven如何实现自动化构建

Maven约定的目录结构

maven_practice:根目录,也就是工程名

src:源代码

main:主程序

java:主程序的 java 源码

resources:主程序的配置文件test:测试程序

java:测试程序的 java 源码

resources:测试程序的配置文件

pom.xml:Maven 工程的核心配置文件。?

POM

Project Object Model 项目对象模型,Maven 把一个项目的结构和内容抽象成一个模型,在 xml 文件中进行声明,以方便进行构建和描述,pom.xml 是 Maven 的灵魂。所以,maven 环境搭建好之后,所有的学习和操作都是关于 pom.xml的。

maven 的 pom.xml 记录的关于构建项目的各个方面的设置,maven 从 pom.xml 文件开始,按照助约定的工程目录编译,测试,打包,部署,发布项目。

基本信息:

groupId:组织?id,一般是公司域名的倒写。 格式可以为:

1.?域名倒写。 例如?com.baidu

2.?域名倒写+项目名。例如?com.baidu.appolo

artifactId:项目名称,也是模块名称,对应groupId中项目中的子项目。

version :项目的版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOT

version?使用三位数字标识,例如?1.1.0

以上三个元素生成了一个Maven?项目的基本坐标,在众多的maven?项目中可以唯一定位到某一

个项目。坐标也决定着将来项目在仓库中的路径及名称。

坐标

项目在仓库中的位置是由坐标来决定的:groupId、artifactId?和?version?决定项目在仓库中的路径,artifactId?和?version?决定?jar?包的名称。

依赖管理

dependencies?和dependency:依赖。Maven?的一个重要作用就是管理?jar?包,为了一个项目可以构建或运行,项目中不可避免的,会依赖很多其他的?jar?包,在?Maven?中,这些?jar?就被称为依赖,使用标签?dependency?来配置。而这种依赖的配置正是通过坐标来定位的,maven?把所有的?jar?包也都视为项目存在了。

仓库管理

本地仓库:本机当前电脑上的资源存储位置,为本机上所有 Maven工程提供服务

远程仓库:不在本机上, 通过网络才能使用。多电脑共享使用的。

①:中央仓库:通过Internet访问,为全世界所有 Maven工程服务。 最权威的。

②:中央仓库的镜像:架设在不同位置,欧洲,美洲,亚洲等每个洲都有若干的服务器,为中央仓库分担流量。减轻中央仓库的访问,下载的压力。所在洲的用户首先访问的是本洲的镜像服务器。

③:私服:在局域网环境中部署的服务器,为当前局域网范围内的所有 Maven工程服务。公司中常常使用这种方式。

在?Maven?构建项目的过程中如果需要某些插件,首先会到?Maven?的本地仓库中查找,如果找到则可以直接使用;如果找不到,它会自动连接外网,到远程中央仓库中查找;如果远程仓库中能找到,则先把所需要的插件下载到本地仓库,然后再使用,并且下次再用到相同的插件也可以直接使用本地仓库的;如果没有外网或者远程仓库中也找不到,则构建失败。

生命周期

插件和目标

maven?过程构建周期,由?maven?的插件?plugin?来执行完成。

继承

聚合

maven的安装

本地(Mac)

详细视频地址:https://www.bilibili.com/video/BV13K4y1X7y9

注意运行maven的时候,MAC可能会存在未知来源的问题,

解决办法:https://blog.csdn.net/hqin_520/article/details/103909260

IDEA

使用插件。详细视频地址:https://www.bilibili.com/video/BV1Te411W7N6?p=9

maven的常用命令总结

maven?三大功能:管理依赖(只要声明就可以自动到仓库下载)、构建项目(主要功能)、管理项目信息(生成一个站点文档)。

构建项目的命令:

mvn clean?清理(会删除原来编译和测试的目录,即?target?目录,但是已经?install?到仓库里的包不会删除)

mvn compile?编译主程序(会在当前目录下生成一个?target,里边存放编译主程序之后生成的字节码文件)

mvn test-compile?编译测试程序(会在当前目录下生成一个?target,里边存放编译测试程序之后生成的字节码文件)

mvn test?测试(会生成一个目录surefire-reports,保存测试结果)

mvn package打包主程序(会编译、编译测试、测试、并且按照?pom.xml?配置把主程序打包生成?jar?包或者?war?包)

mvn install?安装主程序(会把本工程打包,并且按照本工程的坐标保存到本地仓库中)

mvn deploy?部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。还会自动把项目部署到?web?容器中)。

注意:执行以上命令必须在命令行进入 pom.xml 所在目录!

Maven实战

使用IDEA构建

直接双击执行,打包一般执行clean和package就行。

路径:?

?使用后台命令构建

在Linux中编译,进入要编译的项目目录,执行mvn clean 清理项目和下载依赖包,然后执行mvn package打包,也可以直接执行 mvn clean package 一条命令完成打包,上面的命令可以组合使用,如果需要上传到仓库,可以使用?install 或者?deploy 命令

参考博文:https://www.cnblogs.com/yanh0606/p/13522676.html

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:30:08  更:2021-07-29 11:31:34 
 
开发: 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年4日历 -2024/4/28 15:30:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码