Maven的执行方式
maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。goal是maven里定义任务的最小单元,goal分为两类,一类是绑定phase的,就是执行到某个phase,那么这个goal就会触发,另外一类不绑定,就是单独任务,这就相当于ant里的target。
1。以phase来构建
例如:
mvn clean
mvn compile
mvn test
mvn package
表明maven会执行到某个生命周期(lifecycle)的某个阶段(phase)
这个phase以及它前面所有phase绑定的目标(goal)都会执行, 每个phase都会邦定maven默认的goal或者没有goal, 或者自定义的goal。
也可以通过传入参数跳过(skip)某些phase,例如:
mvn install -Dmaven.test.skip=true
1。以goal来构建
这类就是没有绑定phase的goal,但是这类goal却通常会有个执行前提,就是project必须执行到某个phase,
那么执行这个goal,其实也会触发maven执行到前提要求的phase。
例如jetty:run是个非绑定phase的goal,它的前提是test-compile,这个前提是由plugin的代码逻辑制定的
/**
* @goal run
* @requiresDependencyResolution runtime
* @execute phase="test-compile"
* @description Runs jetty6 directly from a maven project
*/
public class Jetty6RunMojo extends AbstractJettyRunMojo
{
...
}
二。Maven lifecycle, phase概览
Maven预设了三个Lifecycle ,各包含了下列Phases.
- 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
- 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
相关推荐
exec-maven-plugin是Maven生态系统中的一个插件,它允许用户在Maven构建过程中执行外部命令或脚本。这使得Maven项目可以集成更多的自定义操作,比如运行特定的脚本、调用系统命令等。本文将详细介绍exec-maven-...
下面将详细介绍如何使用Maven和第三方插件将Java程序转换为可执行的exe文件。 1. **Maven配置** Maven项目通常由`pom.xml`文件进行配置。在该文件中,我们需要添加用于创建可执行文件的插件。一个常用的插件是`...
通过以上两种方法,你可以根据项目需求选择合适的方式来创建可执行的JAR包。在实际开发中,通常推荐使用`maven-jar-plugin`和`maven-dependency-plugin`组合,因为它更利于管理和更新依赖,同时保持JAR文件相对较小...
** Maven 可执行程序文档与Java环境** Maven是一个强大的项目管理和构建工具,在Java开发中广泛应用。它通过读取项目的配置文件(pom.xml),自动管理项目的依赖关系,构建工件(如JAR或WAR文件),并执行测试。在...
### Maven生成可执行JAR命令详解 在Java开发过程中,Maven作为一种强大的自动化构建工具,被广泛应用于项目的构建、依赖管理以及生命周期管理等场景。本文将详细介绍如何利用Maven生成可执行的JAR文件,并部署至...
5. **插件 (Plugins)**: Maven通过插件执行各种构建任务,如编译、测试、打包、部署等。插件可以通过在POM中声明来使用。 **Maven 3.5.2 的特性** 1. **性能提升**: Maven 3.5.2对缓存机制进行了优化,提高了构建...
Maven API使得开发者能够通过简单的命令行指令或者编程方式来执行构建任务,如编译、测试、打包、部署等。 **一、Maven API 的构成** 1. **Project Object Model (POM)**: Maven 项目的中心是POM,它是一个XML文件...
Maven提供了多种打包可执行jar的方式,常见的有以下几种: 1. **maven-jar-plugin**:默认情况下,Maven的jar插件生成的是不包含依赖的jar包。如果需要生成可执行的jar,需要配置`maven-jar-plugin`,并设置`Main-...
本文将详细讲解如何使用Maven生成可执行的JAR包,以满足特定的需求。 首先,我们来看一下生成可执行JAR包的需求: 1. 整个项目被打包成一个ZIP文件,包含应用程序、其依赖的JAR包和说明文档。 2. JAR包应可执行,...
这个版本是Maven的一个稳定版本,包含了执行构建、解析依赖、生成文档以及执行各种构建任务所需的所有组件。 Maven 的工作流程主要围绕POM进行,POM是一个XML文件,它描述了项目的配置信息,包括项目的基本信息(如...
java 写的可执行程序怎么使用 maven 打包? 执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing....
- **插件(Plugins)**:Maven通过插件来执行实际的构建任务,如编译源码、打包成JAR等。 ### Maven 3.0 的使用步骤 1. **安装Maven**:下载Apache Maven 3.0的二进制包,解压并配置环境变量。 2. **创建项目**:...
Maven还允许通过插件来执行特定任务,比如编译Java源码、生成文档、打包应用等。在`pom.xml`的`build/plugins`部分定义插件,例如使用maven-jar-plugin生成JAR文件: ```xml <groupId>org.apache.maven....
每个阶段由一系列插件目标(plugin goals)组成,开发者可以根据需要选择执行哪些阶段。 插件是Maven功能的扩展,例如maven-compiler-plugin用于编译源代码,maven-surefire-plugin用于运行单元测试。通过在pom.xml...
这个压缩包包含了Maven运行所需的所有文件,包括bin目录下的可执行脚本,lib目录中的依赖库,以及conf目录下的配置文件如settings.xml。下载完成后,解压到你选择的目录,通常是在用户的主目录或者一个系统路径下,...
- `bin`:包含可执行脚本,如`mvn`,用于执行Maven命令。 - `conf`:包含Maven的配置文件,如`settings.xml`,用于设置本地仓库位置、镜像等。 - `lib`:包含Maven运行所需的库文件。 - `LICENSE`、`NOTICE`等:...
在“maven3.8下载包”中,你将获得Maven 3.8的安装文件,这通常包括bin目录下的可执行文件,如`mvn`命令行工具,以及conf目录下的配置文件,如`settings.xml`,用于配置本地仓库位置、远程仓库镜像等个性化设置。...
在Java开发中,Maven是一个强大的构建工具,它简化了项目的构建、依赖管理和部署过程。本文将详细讲解如何使用Maven来打包一个Java项目,并创建JAR文件。 首先,Maven有三个主要生命周期阶段:`clean`、`default`...
总结,Maven 3.5.4作为一款强大的构建工具,提供了标准化的项目管理方式,简化了依赖管理和构建过程,是Java开发中不可或缺的一部分。通过本地安装和配置,开发者可以充分利用Maven的强大功能,提升开发效率和项目...