| |
|
开发:
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?是?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 工程的核心配置文件。? POMProject 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 命令 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/12 2:36:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |