`
123003473
  • 浏览: 1064235 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

maven 命令背后是如何工作的

 
阅读更多
Maven强大的一个重要的原因是它有一个十分完善的生命周期模型(lifecycle),它有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,请别将Maven的生命周期看成一个整体哦,三个生命周期是独立线性执行的!分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
[pre-clean, clean, post-clean]
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
Site Lifecycle 生成项目报告,站点,发布站点。
[pre-site, site, post-site, site-deploy]
每个生命周期包含一些阶段(phase),这些阶段(phase)是有顺序的,每个阶段蕴含一个或多个目标(goal),并且后面的阶段依赖于前面的阶段,我们和Maven最直接的交互方式就是调用这些生命周期阶段。

较之于生命周期阶段的前后依赖关系,三套生命周期本身是相互独立的,用户可以仅仅调用clean生命周期的某个阶段,或者仅仅调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。例如,当用户调用clean生命周期的clean阶段的时候,不会触发default生命周期的任何阶段。

其中deault是最重要的生命周期,拥有validate 、compile 、test 、package 、integration、verify、install、deploy等等阶段

我们来看一下Maven的编译阶段
让maven进行编译代码,使用的是声明的方式来告知Maven如何做的。看似一个简单的命令,注但其实它后面执行了一系列的工作。

mvn compile



【完整文档地址】http://yinny.iteye.com/blog/1883488


常用的生命周期:http://v-gimi.iteye.com/blog/1412103

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
分享到:
评论

相关推荐

    maven3.3.9 解压安装包

    **正文** Maven是Java开发领域中不可或缺的...总的来说,Maven 3.3.9的解压安装是一个简单的过程,但其背后蕴含着丰富的构建理念和自动化管理能力。正确配置和使用Maven,可以极大地提升Java项目的开发效率和维护性。

    Mycelipse9下整合springMVC和mybatis的maven项目

    本文档将详细介绍Mycelipse9.0开发环境下的准备工作、maven项目创建、以及如何配置springMVC和mybatis整合的详细步骤。 ### 开发环境与技术栈 #### 开发工具与版本 - **Mycelipse9.0**: 作为IDE工具,Mycelipse是...

    Maven The Complete Reference.rar_maven

    通过深入学习《Maven The Complete Reference》,开发者不仅可以熟练掌握Maven的使用,还能理解其背后的工程思想,提升项目管理的效率和质量。无论你是初学者还是经验丰富的开发者,这本书都将是你不可或缺的参考...

    jredis源码以及maven编译后的jar文件支持redis3.0

    源码分析是理解任何软件库核心工作原理的关键步骤。通过查看`jredis`的源代码,我们可以学习到如何设计一个高效的客户端,处理网络I/O,解析Redis协议,以及如何实现异步和同步操作。这将有助于提升我们对Java网络...

    maven核心文件_page_源码

    本文将深入探讨Maven的核心文件及其背后的源码,帮助开发者更好地理解Maven的工作机制。 在Maven中,最重要的核心文件之一是`pom.xml`,它是Project Object Model(项目对象模型)的简称,用于描述项目的基本信息、...

    Windows、Linux下安装配置maven

    【前言】 在软件开发中,管理第三方库和构建项目是一项关键任务。...理解Maven的工作原理,正确配置和使用它,可以极大地提高开发效率和项目的可维护性。作为开发者,掌握Maven的使用技巧是必备技能之一。

    使用 Maven 构建 Web 项目

    Maven依赖管理的背后是庞大的Maven中央仓库,这里存储了各种开源库的JAR文件。当我们在pom.xml中声明依赖时,Maven会自动从仓库下载这些依赖。 **七、Maven插件** Maven插件如maven-war-plugin用于打包Web应用,...

    Maven权威指南_中文PDF.rar

    通过POM.xml文件,Maven能够理解项目结构,并自动完成构建过程,极大地减少了手动配置的工作量。 接着,Maven的生命周期是构建过程的序列,包括clean、default和site三个阶段,每个阶段包含了一系列的阶段目标...

    test-mvn clean install -Dmaven.test.skip=true dependency:sources

    标题 "test-mvn clean install -Dmaven.test.skip=true dependency:sources" 指的是一个常见的Maven命令,用于构建Java项目。这个命令包含了几个关键的Maven生命周期阶段和选项,下面我会详细解释这些概念。 `mvn ...

    今天又是我不配学java的一天

    了解了Maven的基本概念后,我们来看看一些常用的Maven命令: - `mvn clean`:这个命令用于清理项目,删除`target`目录及其所有内容,为新的构建做准备。 - `mvn compile`:编译源代码,生成字节码文件,放置在`...

    mvnd-0.7.1-linux-amd64.zip

    4. **使用Mvnd**:现在你可以像使用常规Maven一样,使用`mvnd clean install`等命令进行构建,但背后是由Mvnd快速高效地处理。 需要注意的是,由于Mvnd是一个较新的项目,可能存在兼容性问题或功能限制。因此,在...

    Influx:用Java编写的命令管理系统。 还允许注册 Bukkit 插件

    涌入欢迎使用Influx - 开源命令管理系统,旨在为您执行命令语法解析背后的繁重工作。 Influx 是的延续。 有关如何将旧的命令处理程序更多信息,请参阅有关的页面快速链接- 托管 Influx 项目的自动构建 - API 文档...

    webGoat7.1

    在这里,你可以通过执行以下Maven命令来构建WebGoat项目: ```bash mvn clean package ``` 这条命令会清理之前的构建残留,然后编译源代码,处理所有依赖,并最终生成部署包。根据你的需求,你可以选择生成两种...

    jfinaljar.zip

    通过运行`mvn package`命令,Maven会读取pom.xml,下载所有依赖,然后使用嵌入式JAR插件(如maven-jar-plugin)将项目及其依赖打包成一个可执行的JAR。 "package.xml"可能是自定义的打包配置文件,它可能包含关于...

    109-简历系统源码.zip

    "mvnw"文件是Spring Boot项目中的Maven可执行脚本,用于在没有全局安装Maven的情况下,通过Java运行Maven命令。这表明项目使用Maven作为构建工具,通过管理依赖关系和执行构建生命周期来编译、测试和打包应用。 在...

    movie_电影网站_

    - **mvnw.cmd**:Maven wrapper命令,帮助用户在没有Maven安装的情况下运行Maven命令。 - **.gitignore**:定义了版本控制系统Git应忽略的文件列表,防止不必要的文件被版本控制。 - **movie.iml**:IntelliJ ...

    配置好淘宝镜像mevan的setting_mevan_setting

    这样,当你执行`mvn install`或者`mvn dependency:get`等命令时,Maven会优先尝试从淘宝镜像获取依赖,而不是官方的中央仓库,从而提高下载速度。 使用淘宝镜像有以下几个优势: 1. **速度提升**:由于地理位置更近...

    java程序里面的spring_boot.docx

    - 构建与运行:在项目目录下,使用Maven的`mvn package`命令来打包项目。完成后,你会得到一个可执行的JAR文件。通过`java -jar`命令,可以直接运行这个JAR文件启动应用程序。 3. **Spring Boot Maven 插件**: `...

Global site tag (gtag.js) - Google Analytics