首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Maven 核心原理解析(1)

本文的目标是希望读者能够通过本文能对Maven核心原理有个相对深入的理解. 坐标与依赖 为了能够自动化地解析任何一个Java构件, Maven必须将它们唯一标识, 这就是依赖管理的底层基础-坐标....由于原始的本地仓库是空的, Maven必须至少知道一个远程仓库才能在执行命令时下载需要的构件, 中央仓库就是这样一个默认的远程仓库....执行如$ mvn clean install; site site生命周期的目的是建立和发布项目站点: Maven能够基于POM所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息 ?...内置绑定 为了能让用户几乎不用任何配置就能使用Maven构建项目, Maven 默认为一些核心的生命周期绑定了插件目标, 当用户通过命令调用生命周期阶段时, 对应的插件目标就会执行相应的逻辑. clean...site生命周期阶段绑定 生命周期阶段 插件目标 pre-site - site maven-site-plugin:site post-site - site-deploy maven-site-plugin

2.9K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    万字长文解析maven

    可选值有 warn:默认值,输出警告信息 fail:直接构建失败 ignore:忽略校验和错误 有时会遇到jar包更新不到本地的情况,可以在执行maven命令时加上-U参数强制检查更新,如...插件的默认绑定阶段 有一些插件的目标在编写时会绑定到默认阶段,例如上面提到的compile就是默认绑定的。...的default生命周期中有一个test阶段专门用于执行单元测试,默认单元测试插件:maven-surefire-plugin,绑定目标test 该插件会自动检测src/test/java下以Test开头的类...9.1 生成站点 使用mvn site命令可以将项目信息生成站点到target/site 针对多模块项目,可能更希望把所有模块的信息汇总一个目录,可以使用mvn site:stage,默认汇总到target.../staging,但必须先执行mvn site 在站点中增加静态检查报告:(findbugs必须先package生成classes) org.apache.maven.plugins

    15110

    Maven系列第6篇:生命周期和插件详解?高手必备!

    site生命周期 site生命周期的目的是建立和发布项目站点,Maven能够基于pom.xml所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。...主要包含以下4个阶段: 阶段 描述 pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备...site-deploy 将生成的站点文档部署到特定的服务器上 mvn命令和生命周期 从命令行执行maven任务的最主要方式就是调用maven生命周期的阶段,需要注意的是,每套生命周期是相互独立的,但是每套生命周期中阶段是有前后依赖关系的...目标参数 插件目标是用来执行任务的,那么执行任务肯定是有参数配的,这些就是目标的参数,每个插件目标对应于java中的一个类,参数就对应于这个类中的属性。...site生命周期阶段与插件绑定关系 生命周期阶段 插件:目标 pre-site site maven-site-plugin:site post-site site-deploy maven-site-plugin

    3.1K41

    Maven 项目第七讲 Maven插件

    目标参数 插件目标是用来执行任务的,那么执行任务肯定是有参数配的,这些就是目标的参数,每个插件目标对应于java中的一个类,参数就对应于这个类中的属性。...当我们将生命周期中的阶段和插件的目标进行绑定的时候,执行mvn 阶段就可以执行和这些阶段绑定的插件目标。...,而将一些阶段默认和这些插件阶段绑定好了,所以我们不用做任何配置就可以执行清理代码、编译代码、测试、打包、安装到本地仓库、上传到远程仓库等阶段的操作,是因为maven已经默认给这些阶段绑定好了插件目标,...site生命周期阶段与插件绑定关系 生命周期阶段 插件:目标 pre-site site maven-site-plugin:site post-site site-deploy maven-site-plugin...自定义绑定 除了默认绑定的一些操作,我们自己也可以将一些阶段绑定到指定的插件目标上来完成一些操作,这种自定义绑定让maven项目在构件的过程中可以执行更多更丰富的操作。

    2.9K20

    maven 打的包在哪_maven打包流程学习「建议收藏」

    Super POM中定义了所有的默认的配置项。...此外,maven-help-plugin的describe目标可以帮助你描述任何一个Maven插件的信息,还有all-profiles目标和active-profiles目标帮助查看项目的Profile...所以执行mvn help:effective-pom就可以列出所有的配置项,我对空项目执行了一下这个命令,把默认的所有插件整理了一下,总结如下: //知乎怎么还不支持表格 | parse | plugin...| maven-site-plugin | site | | site-deploy | maven-site-plugin | deploy | 这里出现了maven内部运行原理解析中没有提到的几个...parse:[clean/site/site-deploy]这几个的含义在这个帖子找到了答案:maven的三大生命周期 现在知道了具体每个阶段执行的是哪个方法,剩下的只要获取插件的代码就能完整的分析整个打包流程了

    1.8K20

    玩转Apache Maven

    我们希望我们已经创建了一些东西,使 Java 开发人员的日常工作更容易,并且通常有助于理解任何基于 Java 的项目。...例如org.apache.maven.plugins是所有 Maven 插件的指定 groupId。artifactId此元素指示此项目生成的主要工件的唯一基本名称。...这方面的示例是构建目录,即target; 源目录,即src/main/java;测试源目录,即src/test/java;等等。执行任务或目标时,Maven 会在当前目录中查找 POM。...它读取 POM,获取所需的配置信息,然后执行目标。可以在 POM 中指定的一些配置是项目依赖项、可以执行的插件或目标、构建配置文件等。还可以指定其他信息,例如项目版本、描述、开发人员、邮件列表等。...报告插件在站点生成期间执行并在元素中配置。所有插件都应具有最少的必需信息:groupId、artifactId和version。

    27020

    《Maven实战》笔记

    第一章 Maven简介 1.1何为Maven maven翻译为“知识的积累”,“内行”,“专家” 作为Apache组织中颇为成功的一个开源项目,Maven主要服务于基于Java平台的项目构建,依赖管理和项目信息管理...建立项目站点 4个:pre-site、site、post-site、site-deploy 插件目标 一个插件包含多个功能,每个功能对应一个插件目标 maven-dependency-plugin...default 生命周期的内置插件绑定关系及具体任务(打包类型:jar) 生命周期阶段 插件目标 执行任务 process-resources maven-resources-plugin...site 生命周期 site 生命周期的阶段 插件的目标 pre-site site maven-site-plugin:site post-site site-deploy...maven-site-plugin:deploy 第八章 聚合与继承 约定 一般来说,一个项目的子模块都应该使用相同的groupId,如果他们一起开发和发布,还应该使用同样的version

    97010

    Apache Maven 最全教程,7000 字总结!

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? img OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...**仓库的默认位置:**c:\Usrs[登录当前系统的用户名].m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 ?...maven坐标来获取jar包,获取到jar之后会下载到本地仓库 对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的...③ Site Lifecycle 生成项目报告,站点,发布站点。...pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上

    1.4K40

    可能是最详细的 Maven 教程

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...仓库的默认位置:c:\Usrs[登录当前系统的用户名].m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 ? 我们发现Hello项目里里多了一个target文件夹。...maven坐标来获取jar包,获取到jar之后会下载到本地仓库 对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的...③ Site Lifecycle 生成项目报告,站点,发布站点。...pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上

    1.1K20

    看了必懂的Maven最全教程!!!

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...仓库的默认位置:c:\Usrs[登录当前系统的用户名].m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 ? 我们发现Hello项目里里多了一个target文件夹。...maven坐标来获取jar包,获取到jar之后会下载到本地仓库 对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的...③ Site Lifecycle 生成项目报告,站点,发布站点。...pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上

    1.2K20

    重量级!Maven史上最全教程,看了必懂

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...仓库的默认位置:c:\Usrs\[登录当前系统的用户名]\.m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 ? 我们发现Hello项目里里多了一个target文件夹。...③ Site Lifecycle 生成项目报告,站点,发布站点。       ...1、pre-site 执行一些需要在生成站点文档之前完成的工作       2、site 生成项目的站点文档       3、post-site 执行一些需要在生成站点文档之后完成的工作,...并且为部署做准备       4、site-deploy 将生成的站点文档部署到特定的服务器上 七、Eclipse中使用maven ①、配置     选择菜单windows-->preferences

    1.8K20

    Maven最全最细教程

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...仓库的默认位置:c:\Usrs\[登录当前系统的用户名]\.m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 ? 我们发现Hello项目里里多了一个target文件夹。...③ Site Lifecycle 生成项目报告,站点,发布站点。       ...1、pre-site 执行一些需要在生成站点文档之前完成的工作       2、site 生成项目的站点文档       3、post-site 执行一些需要在生成站点文档之后完成的工作,...并且为部署做准备       4、site-deploy 将生成的站点文档部署到特定的服务器上 七、Eclipse中使用maven ①、配置     选择菜单windows-->preferences

    81020

    重量级!Maven史上最全教程,看了必懂

    进入到项目的pom.xml目录之后,就可以执行啦。 1、运行 mvn compile ? OK,运行完毕,你在pom.xml配置的依赖的包已经导入到仓库了,问题来了,仓库默认的位置在哪?...仓库的默认位置:c:Usrs[登录当前系统的用户名].m2 epository 刚才执行完compile之后,之前的文件夹发生了变化 ? 我们发现Hello项目里里多了一个target文件夹。...③ Site Lifecycle 生成项目报告,站点,发布站点。       ...1、pre-site 执行一些需要在生成站点文档之前完成的工作       2、site 生成项目的站点文档       3、post-site 执行一些需要在生成站点文档之后完成的工作,...并且为部署做准备       4、site-deploy 将生成的站点文档部署到特定的服务器上 七、Eclipse中使用maven ①、配置     选择菜单windows-->preferences

    1.2K20

    项目管理Maven系列(二)- 创建项目、POM文件、依赖机制、生命周期、定制库、外部依赖

    POM包含的项目是使用Maven来构建的,用来包含各种配置信息、目标、插件等,在执行任务或目标时,Maven会使用当前目录中的POM文件,读取得到所需要的配置信息,然后执行目标。...构建生命周期中test阶段默认绑定的插件目标就是Maven Surefire Plugin中的test目标,无需额外配置,直接运行mvn test就可以。...下面列出default、clean和site生命周期的所有构建阶段,这些阶段按照指定的顺序执行: 1、clean生命周期(处理项目清理工作) (1)pre-clean 在实际的项目清理之前执行所需的过程...3、site生命周期(处理项目所生成的文档) (1)pre-site 在实际的项目站点生成之前执行过程。 (2)site 生成项目的站点文档。...(3)post-site 执行确定站点生成的过程,并为站点部署做好准备。 (4)site-deploy 将生成的站点文档部署到指定的web服务器。

    2.4K20

    全网最详细的 Maven 教程!

    :将以前编译得到的旧文件class字节码文件删除 编译compile:将java源程序编译成class字节码文件 测试test:自动测试,自动调用junit程序 报告report:测试程序执行的结果 打包...仓库的默认位置:c:\Usrs[登录当前系统的用户名].m2\repository 刚才执行完compile之后,之前的文件夹发生了变化 图片 我们发现Hello项目里里多了一个target文件夹。...maven坐标来获取jar包,获取到jar之后会下载到本地仓库 对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的...③ Site Lifecycle 生成项目报告,站点,发布站点。...pre-site 执行一些需要在生成站点文档之前完成的工作 site 生成项目的站点文档 post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备 site-deploy 将生成的站点文档部署到特定的服务器上

    1.1K20
    领券