maven常见面试题
一、说说你熟悉哪些maven命令?
mvn archetype:generate 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类
二、如何解决依赖传递引起的版本冲突?
可通过dependency的exclusion元素排除掉依赖。
三、说说maven的依赖原则
最短路径原则(依赖传递的路径越短越优先)
pom文件申明顺序优先(路径长度一样,则先申明的优先)
覆写原则(当前pom文件里申明的直接覆盖父工程传过来的)
四、说说依赖的解析机制?
当依赖的范围是 system 的时候,Maven 直接从本地文件系统中解析构件。
根据依赖坐标计算仓库路径,尝试直接从本地仓库寻找构件,如果发现对应的构件,就解析成功。如果在本地仓库不存在相应的构件,就遍历所有的远程仓库,发现后,下载并解析使用。如果依赖的版本是 RELEASE 或 LATEST,就基于更新策略读取所有远程仓库的元数据文件(groupId/artifactId/maven-metadata.xml),将其与本地仓库的对应元合并后,计算出RELEASE 或者 LATEST 真实的值,然后基于该值检查本地仓库,或者从远程仓库下载。如果依赖的版本是 SNAPSHOT,就基于更新策略读取所有远程仓库的元数据文件,将它与本地仓库对应的元数据合并,得到最新快照版本的值,然后根据该值检查本地仓库,或从远程仓库下载。如果最后解析得到的构件版本包含有时间戳,先将该文件下载下来,再将文件名中时间戳信息删除,剩下 SNAPSHOT 并使用(以非时间戳的形式使用)。
五、说说插件的解析机制
与依赖的构件一样,插件也是基于坐标保存在Maven仓库中。在用到插件的时候会先从本地仓库查
找插件,如果本地仓库没有则从远程仓库查找插件并下载到本地仓库。与普通的依赖构件不同的
是,Maven会区别对待普通依赖的远程仓库与插件的远程仓库。前面提到的配置远程仓库只会对普
通的依赖有效果。当Maven需要的插件在本地仓库不存在时是不会去我们以前配置的远程仓库查找
插件的,而是需要有专门的插件远程仓库。
maven常见面试题相关推荐
- 【maven】 Maven常见面试题
一.Maven有哪些优点和缺点 优点如下: 简化了项目依赖管理: 易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作 便于与持续集成工具(jen ...
- Maven相关常见面试题
Maven相关常见面试题 更好的解答需要大家自行百度,这里主要是列出,单个问题的去搜索了解 1.你们公司使用的maven 版本 我使用的是maven3.6.3(根据你平时用的版本答就好了) 2.使用m ...
- Spring常见面试题及答案汇总1000道(春招+秋招+社招)
Spring面试题以及答案整理[最新版]Spring高级面试题大全(2021版),发现网上很多Spring面试题都没有答案,所以花了很长时间搜集,本套Spring面试题大全,汇总了大量经典的Sprin ...
- Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3
Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3 总览 问题 详解 String.intern()的作用 link LeetCode的Two Sum题 ...
- Java开发常见面试题详解(JVM)_2
Java开发常见面试题详解(JVM)_2 JVM 问题 详解 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots link 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认 ...
- 2021年最新Spring面试题,常见面试题及答案汇总
Spring面试题以及答案整理[最新版]Spring高级面试题大全(2021版),发现网上很多Spring面试题都没有答案,所以花了很长时间搜集,本套Spring面试题大全,汇总了大量经典的Sprin ...
- 【面试题】Java常见面试题集锦
Java常见面试题集锦 面试题模块 这份面试题,包含的内容了十九了模块:Java 基础.容器.多线程.反射.对象拷贝.Java Web 模块.异常.网络.设计模式.Spring/Spring MVC. ...
- 2021年- 精心整理的 SpringBoot 常见面试题-【附详细答案】
目录 1. Spring Boot 自动配置原理是什么? 2. SpringBoot配置-profile 3. SpringBoot中有哪些常用注解 4. Spring Boot.Spring MVC ...
- mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题
1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...
最新文章
- EST:西湖大学鞠峰组-污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
- 在 asp.net core \ vs2015 update2 情况况下创建 asp.net core web application 的问题
- mybatis 注解传入 list 集合​​​​​​​
- leetcode46. 全排列(回溯)
- C++调用tensorflow训练好的SSD物体检测模型-opencv3.4.3
- 手把手教你写一个RPC
- packetfence 7.2网络准入部署(二)
- ubuntu mysql 连接数_ubuntu-阿里云下 Tomcat 应用无法连接数Mysql据库
- 51单片机小车(附源码)
- 关于plsqldeveloper打开报错解决方法MSVCR71.dll is missing from your compute
- k8s当中calico节点日志报错 confd/health.go 180: Number of node(s) with BGP peering established = 0
- 探索智慧医院落地新方案!OFweek 2019医疗物联网大会成功举办
- 190502 Expressing Belief
- java获取date的时分秒_java Date简单的 获得时分秒代码
- 关于oxc000007b错误的解决办法
- 自建个人用服务器要多少钱,我想建立一个人网站,像19楼那样的论坛,是自建服务器便宜还是租用服务器便宜...
- 解决Unknown column ‘xxx‘ in ‘where clause‘问题
- 进入html+css世界的正确姿势
- 技术改变生活——用HanLP来协助处理现实中问题
- bark app在Windows与ios间实现接力