【Maven】3—其他核心概念

news/2024/11/30 7:47:25/

⭐⭐⭐⭐⭐⭐
Github主页👉https://github.com/A-BigTree
笔记链接👉https://github.com/A-BigTree/Code_Learning
⭐⭐⭐⭐⭐⭐

如果可以,麻烦各位看官顺手点个star~😊

如果文章对你有所帮助,可以点赞👍收藏⭐支持一下博主~😆

文章目录

  • 4 其他核心概念
    • 4.1 生命周期
      • 4.1.1 作用
      • 4.1.2 三个生命周期
      • 4.1.3 特点
    • 4.2 插件和目标
      • 4.2.1 插件
      • 4.2.2 目标
    • 4.3 仓库

4 其他核心概念

4.1 生命周期

4.1.1 作用

为了让构建过程自动化完成,Maven 设定了三个生命周期,生命周期中的每一个环节对应构建过程中的一个操作。

4.1.2 三个生命周期

生命周期名称作用各个环节
Clean清理操作相关pre-clean
clean
post-clean
Site生成站点相关pre-site
site
post-site
deploy-site
Default主要构建过程validate
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件,至目标目录,准备打包。
compile 编译项目 main 目录下的源代码。
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 复制并处理资源文件,至目标测试目录。
test-compile 编译测试源代码。
process-test-classes
test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package
package 接受编译好的代码,打包成可发布的格式,如JAR。
pre-integration-test
integration-test
post-integration-test
verify
install将包安装至本地仓库,以让其它项目依赖。
deploy将最终的包复制到远程的仓库,以让其它开发人员共享;或者部署到服务器上运行(需借助插件,例如:cargo)。

4.1.3 特点

  • 三个生命周期彼此是独立的;
  • 在任何一个生命周期内部,执行任何一个具体环节的操作,都是从本周期最初的位置开始执行,直到指定的地方;

Maven之所以这么设计其实就是为了提高构建过程的自动化程度:让使用者只关心最终要干的即可,过程中的各个环节是自动执行的。

4.2 插件和目标

4.2.1 插件

Maven的核心程序仅仅负责宏观调度,不做具体工作。具体工作都是由Maven插件完成的。例如:编译就是由maven-compiler-plugin-3.1.jar插件来执行的。

4.2.2 目标

一个插件可以对应多个目标,而每一个目标都和生命周期中的某一个环节对应;

Default生命周期中有compiletest-compile两个和编译相关的环节,这两个环节对应compiletest-compile两个目标,而这两个目标都是由maven-compiler-plugin-3.1.jar插件来执行的;

4.3 仓库

  • 本地仓库:在当前电脑上,为电脑上所有 Maven 工程服务
  • 远程仓库:需要联网
    • 局域网:我们自己搭建的 Maven 私服,例如使用 Nexus 技术。
    • Internet
      • 中央仓库
      • 镜像仓库:内容和中央仓库保持一致,但是能够分担中央仓库的负载,同时让用户能够就近访问提高下载速度,例如:Nexus aliyun

建议:不要中央仓库和阿里云镜像混用,否则 jar 包来源不纯,彼此冲突。


http://www.ppmy.cn/news/39109.html

相关文章

【C++从0到1】25、C++中嵌套使用循环

C从0到1全系列教程 1、实例代码 #include <iostream> // 包含头文件。 using namespace std; // 指定缺省的命名空间。int main() {// 超女分4个小组&#xff0c;每个小组有3名超女&#xff0c;在控制台显示每个超女的小组编号和组内编号。// 用一个循环…

【剧前爆米花--爪哇岛寻宝】常见的锁策略——乐观锁、读写锁、重量级锁、自旋锁、公平锁、可重入锁等

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是关于操作系统锁策略的文章&#xff0c;包括乐观锁、读写锁、重量级锁、自旋锁、公平锁、可重入锁等&#xff0c;希望对你有所帮助&#xff01; 目录 乐观锁和悲观锁 悲观锁 乐观锁 应用…

Liunx服务器部署jar单体服务命令、数据库死锁解决

1.进入cd 目录 cd /usr/local/xdd_xcx_java 2.查看当前任务进程 ps -ef | grep java 3.杀死进程&#xff0c;进程ID根据步骤2来 kill -9 进程ID 3.把diancan-api-2023-04-07-17-41.jar通过Xshell直接拖进liunx 4.执行jar包 nohup java -jar diancan-api-2023-04-07-17-…

【软件设计师06】数据结构与算法基础

数据结构与算法基础 考点&#xff1a;数组与矩阵、线性表、广义表、树与二叉树、图、排序与查找、算法基础与常见的算法 1. 数组 数组类型存储地址计算一维度数组a[n]a[i]的存储地址为ai*len二维数组a[m][n]a[i][j]的存储地址&#xff1b;按行存储&#xff1a;a(i*nj)*len&a…

JavaWeb基础-汇总

SSM框架课程汇总01-MySQL基础02-MySQL高级03-JDBC04-JDBC练习05-Maven&Mybatis基础06-Mybatis练习07-JavaScript08-Web概述09-HTTP10-Tomcat11-Servlet12-Request&Response13-用户注册登录案例14-JSP15-JSP案例16-会话技术17-用户登录注册案例18-Filter19-Listener&…

华为网络篇 单臂路由-17

实验难度 2实验复杂度2目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 单臂路由&#xff08;router-on-a-stick&#xff09;是指在路由器的一个接口上通过配置子接口&#xff08;或“逻辑接口”&#xff0c;并不存在真正物理接口&…

生成对抗网络 | Python实现GANformer生成对抗神经网络结合Transformers

生成对抗网络 | Python实现GANformer生成对抗神经网络结合Transformers 目录 生成对抗网络 | Python实现GANformer生成对抗神经网络结合Transformers效果一览文章概述环境准备模型描述程序设计参考资料效果一览 文章概述 生成对抗网络 | Python实现GANformer生成对抗神经网络结…

数据分析之Pandas(2)

3.Pandas 文章目录3.Pandas3.3 Pandas进阶3.3.1 数据重塑和轴向旋转&#xff08;1&#xff09;层次化索引Series的层次化索引DataFrame的层次化索引层次化——电影数据示列&#xff08;2&#xff09;数据旋转3.3.2 数据分组、分组运算3.3.3 离散化处理3.3.4 合并数据集&#xf…