个人感觉掌握Maven使用的核心是掌握maven插件的使用,以及掌握maven的依赖和依赖的优化,暂且不说maven仓库方面
先说说怎么样来快速掌握一个陌生插件的使用方式
在此之前需要学会使用maven的help插件,掌握了这个插件后就可以快速学会如何
先看看help插件的几个目标:
mvn help:effective-pom 可以查看有效的pom 是父pom超级pom和子pom最终组合成的pom文件
mvn help:effective-settings 查看有效的settings文件 maven会在用户的home目录 的.m2下创建settings.xml文件 这个文件的设置用来覆盖全局设置的 home目录在不同的系统下是不一样的 .m2里面的点在linux下代表的是隐藏目录 在windows下不会隐藏
mvn help:active-profiles 查看激活的profile
help插件有很多目标命令 其实掌握了最关键的一个 其他的都可以记住
mvn help:describe 插件描述的命令 通过这个命令你可以知道 某个插件有多少目标 每个目标的详细用法 可以设置哪些参数
help:describe 的用法是这样的 -Dplugin=<插件名或者插件前缀或者插件的完整标识> -Dfull 加上了-Dfull就会显示这个插件的完整描述
要想查看目标的命令可以使用help插件的help目标 这个目标要设置两个参数 -Ddetail=true -Dgoal=<目标的名字>
这样就可以查看这个目标后面可以跟哪些参数 参数是用来干什么的
到这里插件的使用方法基本可以知道怎么获得了 只要英文有点基础应该不是问题
这里说个比较关键的插件 maven-dependency插件
如果不知道这个插件的使用方法 那么上面说的help插件就派上用场了
mvn dependency: resolve查看所有依赖的jar文件
mvn dependency:tree用树的形式显示依赖的jar文件
mvn dependency:analyze 分析对所有的jar文件的依赖 来显示使用了哪些没有声明的依赖,和哪些 声明了但没有使用的依赖,这个插件的目标用来对pom文件进行优化
说道这里就简单说一下maven的pom文件的优化
优化主要是针对多模块的项目,
优化从两点入手,
第一是:优化一个pom文件内 的重复依赖,
第二是:一个是优化兄弟模块之间的依赖,将兄弟模块里面重复的依赖提到父模块中
在优化的时候要注意 使用dependency:analyze 把里面显示的直接依赖,尽量显式的在pom文件内声明,因为不这样做,会留下潜在的问题,举个简单的例子:模块A依赖与a.jar文件 a.jar文件使用了b.jar文件 模块B也使用了b.jar文件在模块A添加依赖的时候 因为maven的传递依赖管理 会将b.jar文件也加在到classpath下 这样b理论上就不用声明对b.jar的依赖了,但是往长远的看一下 加入有一天A模块进过了改进不再需要对a.jar文件的依赖,这样依赖就删除了对a.jar依赖的声明,同时a.jar文件所依赖的jar文件也会从classpath中移除,此时项目就会出问题了,应为需要的b.jar不存在会导致模块B无法正常工作这就是不显式声明一个直接依赖隐藏的后果!
还有一个就是在pom文件内充分利用maven的隐式变量和系统变量
饮食变量主要包括三个env project settings 隐式变量可以通过${env.XXX}的形式来调用环境变量里面的变量值,如jdk的安装目录
系统是java.lang.System的getProperties()方法内的那些键值 这些键值都被暴露为pom的属性
今天就先总结这么多了!希望对初学maven的人有帮助
分享到:
相关推荐
### Maven初学者摇篮知识点概览 #### 一、Maven简介 1. **Maven是什么?** - **定义**: Maven是一款由Apache...通过这些内容的学习,初学者可以对Maven有一个全面的了解,并能够运用Maven高效地构建和管理Java项目。
这个标签进一步强调了这是一个还没有具体功能的Java项目,只包含了基础的框架和配置,适用于初学者学习Maven和Java开发流程,或者是作为其他复杂项目的基础模板。 **创建和使用空的Maven工程步骤**: 1. **初始化...
描述中的“简单的试一下吧”可能意味着这个项目是一个入门级的示例,适合初学者学习Maven的基本用法。这样的项目通常会包含基本的目录结构,比如`src/main/java`用于存放源代码,`src/main/resources`存放资源文件,...
学习Maven前,需要具备一定的软件开发基础知识、了解Java SE,以及对Java EE的开发和部署过程有一个基本的概述。本教程的教学目的是让初学者快速了解并掌握Maven工具的使用,进而在项目开发中熟练运用,最终达到中等...
【 Maven学习极品:初学者的完美指南】 Maven,一个由Apache软件基金会开发的项目管理工具,是Java世界中不可或缺的一部分。它简化了构建过程,通过自动管理项目的依赖关系,使得开发者可以专注于编写代码,而不是...
### Maven实战:初学者的学习指南 #### Maven简介与重要性 Apache Maven 是一款项目管理和构建工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。它通过一个项目对象模型(POM)来管理项目的构建、报告和...
一个基础的maven项目,供给初学maven的同学检阅如何配置maven项目,采用jdk1.8,maven3.5.2,使用阿里云maven服务器导入jar包,内涵基础ssm的pom文件,包括跨域访问,供给大家学习交流使用。
同时,也可以学习Maven的构建流程,理解POM文件中的依赖管理和构建指令。此外,通过阅读和修改配置文件,你可以掌握SpringBoot的配置方式,以及如何通过Profile进行环境切换。 总的来说,"springboot-web-demo"是一...
针对对初学者使用maven的遇到的问题的一些讲解 和学习的总结
适合初学者的maven学生数据库小项目,后端springboot,前端bootstrap+angularjs,项目结构清晰,适合初学者借鉴学习。运行前需要修改application.properties中的数据源配置,有问题email:940457307@qq.com
对于初学者而言,掌握Maven的基本使用,如创建项目、配置POM、执行构建命令,是进入Java世界的关键一步。随着经验的积累,开发者可以深入探索Maven的高级特性,如多模块项目、自定义插件、持续集成等,以应对更复杂...
学习基于Maven的SSM整合完成的项目 详情见:https://blog.csdn.net/key_768/article/details/104004768和 https://blog.csdn.net/key_768/article/details/104040076 学习用,自取
Apache Maven的官方文档是学习Maven的首选资源。这个文档详细介绍了Maven的概念、架构、配置以及使用方法。官方文档涵盖了从安装Maven到创建新项目,再到管理项目依赖和执行构建的全过程。通过阅读这份文档,你可以...
本文将详细介绍Maven的基础知识,并提供在IntelliJ IDEA集成开发环境中学习Maven的资料。 一、Maven简介 1. Maven是什么 Apache Maven是一个软件项目管理和构建工具,它遵循项目对象模型(POM)的概念,POM是Maven...
总之,Java_Maven初学者教程与示例是一个宝贵的资源,通过学习和实践,你可以快速掌握Maven的使用,从而更好地进行Java项目的构建和管理工作。记得结合实际项目进行练习,以便更好地理解和应用所学知识。
本教程将深入介绍Maven的基础知识,帮助初学者快速掌握这一关键的开发工具。 ### 1. Maven项目对象模型(POM) POM是Maven的核心,它是一个XML文件,包含了关于项目的配置信息,如项目名称、版本、描述、开发者...
**正文** Maven是Java开发领域中不可或缺的构建工具,尤其对于初学者而言,它能够极大地简化项目的构建、管理和依赖管理过程。...这份"Maven学习.pdf"文档应能提供全面的引导,帮助初学者一步步探索Maven的世界。
**Maven学习书籍** 《Maven实战》是一本专门针对Maven这一强大的Java项目管理和构建工具的书籍。作为国内首部Maven领域的专著,它深入浅出地讲解了Maven的核心...无论是初学者还是有经验的开发者,都能从中受益匪浅。