标签:maven 依赖 java Maven pom 冲突 模块 基本概念
这两天在解决maven依赖冲突的问题,又不小心删掉了maven的repository。手忙脚乱maven的lifecycle命令瞎按一通,本来5分钟搞定,硬生生搞了小一个多小时!!!
狠狠地和maven打了个交道。
依赖冲突
idea自带的一个maven依赖关系图
很通透,但无从下手。我真看不懂
所以Maven Dependency Helper就是一个很好地东西了(IDEA插件)
树形结构!依赖关系明确!每个pom文件单独操作!
当然最终其实还是在https://mvnrepository.com/解决的
版本支持一目了然!
Maven的几个核心概念
1.pom:project object model maven把项目当作一个模型使用。pom.xml
2.约定目录结构:规定好的目录和文件位置
3.坐标:表示资源
4.依赖管理:管理依赖的jar文件
5.仓库管理:资源存放的位置
6.生命周期:maven工具构建项目的过程
7.插件和目标:maven工具就是插件
8.继承:用parent继承父工程的pom配置
9.聚合:多模块项目中,一个打包方式为pom的模块,通过本模块一键自动识别其他模块。reload本模块即可把多模块项目配置到一起
约定目录结构
HelloWorld/
----/src
---------/main //主程序的代码和配置文件
--------------/java //程序包和包中的java文件
--------------/resources //配置文件
---------/test //测试程序
--------------/java
--------------/resources
----/pom.xml //maven核心文件
Maven项目的构建过程,Maven的生命周期
项目构建是面向过程的
1.清理(clean):删除之前编译的代码
2.验证(validate)
3.编译(compile):javac一次编译一个,maven一次编译多个 (.java->.class)
4.测试(test可跳过):字面意思,多个测试(junit单元测试,命名为Test****)
5.报告 :生成测试结果文件
6.打包(package):jar包或者war包(是一个压缩文件)
7.安装(install):把打包后的压缩文件放到本机仓库
8.建站(site):生成项目的站点信息,位置在target的site(建议都去试一试,真的强)
9.部署(deploy):把程序安装好,可以执行,自动放到web容器里
依赖范围
1.compile(默认)
2.test(只对测试类生效)
3.provided(不参与打包和部署)
4.runtime(编译时无效)
5.system(与provided相同,需显示制定依赖路径)
标签:maven,依赖,java,Maven,pom,冲突,模块,基本概念 来源: https://blog.csdn.net/ALAN_yongyi/article/details/121180332
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。