百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Maven中常用标签和生命周期总结

csdh11 2025-05-30 13:46 11 浏览

groupid 一般定义方式为实际项目名

artifactId 一一般表示该项目中的某个某块名

version 表示该项目中的某个模块的版本号

scope 表示该某个的作用范围,scope的不同值也表示该模块的作用fanwe

  • compile :表示当前模块在程序的各个阶段都可能被使用,如 编译 运行 测试 打包等
  • provided :表示当前模块在编译 运行 测试阶段可能被使用 ,在程序打包时不需要 如 jsp-api ,sevlet-api在tomcat上进行发布时将不需要进行提供否则将会产生依赖冲突
  • test:表示当前的模块只在test阶段有效其余阶段将不被需要
  • runntime:表示当前的依赖模块不需要参加编译,但是需要在运行阶段参加\

name:用于指定项目的名称

description:对当前项目的描述

parent:指定当前项目的父工程

packaging:表示项目的打包方式 jar war ,还有一种pom的方式多用于组合聚合模式中指定当前项目为一个父工程项目

dependencyManagement:多用于在父工程中指定依赖,在子工程中可以直接进行父工程中该标签中的所用依赖的继承,子工程中也可以将父共工程中的依赖进行覆盖使用自身定义的依赖

dependencies:依赖管理标签 将所有依赖在该标签中进行定义 dependency

dependency:进行某个具体的依赖的定义

build :用于建立插件使用

plugins:在该标签中定义插件plugin

plugin:表示某个具体的插件

properties:用于进行依赖的版本的统一控制在version中使用${在properties中的标签名}进行版本声明

modules:在父工程中指定有哪些工程是该工程的子工程

module:自定具体的某个子工程的名字,该子工程的名字为artifactId的值



maven的生命周期:在maven的生命周期中执行某个生命周期中的命令时会将该命令前的所有什么周期的命令进行执行一次也就是生命周期的阶段具有前后依赖关系,每个生命周期相互独立

  • clean:pre-clean:进行clean前的一些准备工作clean:清楚之前项目产生的编译文件,也就是删除target文件夹post-clean:执行清理后需要完成的工作
  • default:validate:验证项目结构是否正常 main下面的Java和resource文件,test下的java文件是否存在,必要的配置文件是否存在initialize:构建前的初始化工作,初始化参数,创建必要的目录等generate-source:产生编译过程中所需的源代码process-source:处理源代码generate-resource:产生主代码中的资源在class中的包process-resource:将资源文件复制到class中对应的包中compile:编译源代码,mvn compileprocess-classes:产生编译过程中生成的文件generate-test-source:产生编译过程中测试相关的代码process-test-source:出来测试相关代码generate-test-resource:产生test相关的资源文件在classpath中的相关的包process-test-resource:将test中的resource中的复制到对应的test-class中对用的resource中的包中test-compile:将test代码进行编译 mvn testprocess-test-classes:产生test过程中生成的文件test:运行测试案例prepare-package:处理打包前的初始化的装备工作package:将编译后的class和资源打包成压缩文件pre-integration-test:做好基础测试前的准备工作,如基础环境的 参数设置integration-test:集成测试post-integration-test:完成集成测试后的收尾工作,如清理集成环境的参数设置verify:检测测试后的包是否完好install:将打包的组件以构建的形式,安装到本地依赖仓库中,以便共享给本地的其他项目deploy:运行集成和发布环境,将测试后的最终包衣构件的方式发布到远程仓库中,方便所有程序员共享
  • site:站点的建立和部署pre-site:生成站点签到准备工作site:生成站点文档post-site:执行生成站点的收尾工作site-deploy:站点发布到服务器

相关推荐

jQuery EasyUI 树形菜单 - 创建复杂树形网格

树形网格(TreeGrid)可以展示有限空间上带有多列和复杂数据电子表格。本教程将演示如何将表格数据排列在分割的网格和多行表头中,以便组织共同的数据。创建树形网格(TreeGrid)...

Cesium 两种方式加载 Geoserver服务 WMTS以及WMS、WFS、KML资源图层

最近有需求,Cesium叠加Geoserver缓存瓦片...

Flask+Pandas+CSV报表实现示例(csv pandas)

以下是一个基于Flask+Pandas+CSV的简单报表实现示例,包含数据加载、处理和可视化展示:1.项目结构bashflask-report/...

干货!分享一个jQuery剪辑图片插件,适用于移动端和PC端

最近在开发过程中需要用到图片剪裁上传的功能,一开始是想着用canvas来实现,但对于canvas还不是很熟悉,于是走了个捷径,找了一款开源的jQuery插件。还是挺简单好用的,适配IOS、Androi...

Python自动化运维系列:Django搭建个人博客之前端篇

Hello,各位小伙伴们!我是小安Sir,MyEnglishnameisChanson!Nicetomeetyou!~上次给大家分享了搭建个人博客的数据篇,链接如下:...

「layui」表单验证:验证注册(表单验证原理)

注册界面手动验证获取短信验证码...

HTML5入门(html5入门到精通pdf)

什么是HTML5官方概念:HTML5草案的前身名为WebApplications1.0,是作为下一代互联网标准,用于取代html4与xhtml1的新一代标准版本,所以叫html5。它增加了新的标...

跨域资源的共享(CORS)N种用法(跨域资源共享漏洞怎么修复)

同源策略是所有浏览器都必须遵循的一项安全原则,它的存在决定了浏览器在默认情况下无法对跨域请求的资源做进一步处理。为了实现跨域资源的共享,W3C制定了CORS规范。ASP.NET利用CorsMiddle...

前端人必看!这 10 个 JavaScript 技巧,让你代码效率狂飙 99%!

前端开发的“江湖”里,JavaScript就是咱们闯荡的“绝世武功”。可不少兄弟天天对着代码抓耳挠腮,写得又慢又容易出Bug,加班都成了家常便饭!别愁!今天带来的这10个JavaScr...

Jquery实现Ajax请求的几种常见方式总结

1.1、JQuery的GET方式实现AJAX核心语法:...

Axure跨页面交互:利用IFrame和JS实现父子页面菜单联动

在Axure中使用内联框架(IFrame)进行父子页面间的通信是一个非常有效的技巧,尤其是在需要实现复杂交互逻辑时。通过JavaScript直接操作DOM元素,可以突破Axure基础元...

聊聊如何对eureka管理界面进行定制化改造

前言在nacos还未面世之前,eureka基本上就是springcloud全家桶体系注册中心的首选,随着nacos的横空出世,越来越多基于springcloud的微服务项目采用nacos作为注册中心,...

用 Bootstrap4 制作响应式网页二(导航菜单)

上文已经介绍安装框架的过程,本文接下来制作一个导航菜单。导航菜单设计左右结构,左边放logo,右边放菜单链接。下面是html部分的整体代码:...

用Python+Eel写个Metro风格的web的GUI桌面程序

1说明1.1Eel是python的轻量级桌面GUI程序开发库。1.2已介绍,暂时略。讲一个用Python写个Metro风格的桌面程序。1.3资料来源,对代码进行注释。https://www.j...

WebSocket(websocket原理与机制)

目前用户抢单操作我们已经完成,无论是非热点商品还是热点商品抢单,抢单完成后,我们应该要通知用户抢单状态,非热点商品可以直接响应抢单结果,但热点商品目前还没有实现通知响应,通知用户抢单状态用户可以通过定...