Maven面试题及答案

简介: Maven面试题及答案

1、Maven有哪些优点和缺点

优点:

1、简化项目依赖管理

2、方便与持续集成工具(Jenkins)整合

3、有助于多模块项目开发,比如一个模块开发好后发布到仓库,依赖该模块时可以直接从远程仓库更新,不用自己手动去编译

4、有很多插件,便于扩展,比如:生产站点,自动发布版本

缺点:

1、maven是个庞大的工具,学习成本大

2、maven采用约定大于配置的策略,出现问题很难调试

3、当依赖很多时,m2仓库会使开发工具变卡

2、Maven的生命周期

maven有三大生命周期,分别为:

1、clean 周期:主要用于清理上一次构建产生的文件,可以理解为删除target目录

2、默认周期

主要阶段包含:

1)process-resources 默认处理src/test/resources/下的文件,将其输出到src的classpath目录中

2)compile 编译src/main/java下的java文件,产生对应的class

3)process-test-resources 默认处理src/test/resources/下的文件,将其输出到测试的classpath目录中

4)test-compile 编译src/test/java下的java文件,产生对应的class

5)test 运行测试用例

6)package 打包构件,即生成对应的jar, war等

7)install将构件部署到本地仓库

8)deploy 部署构件到远程仓库

3、site周期

主要阶段包含:

site 产生项目的站点文档

site-deploy 将项目的站点文档部署到服务器

3、Maven常见的依赖范围

  • compile :默认范围,用于编译
  • provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
  • runtime: 在执行时需要使用
  • test: 用于test任务时使用
  • system:需要外在提供相应的元素。通过systemPath来取得
  • systemPath: 仅用于范围为system。提供相应的路径
  • optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用

4、多模块如何聚合

配置一个打包类型为pom的聚合模块,然后在该pom中使用元素声明要聚合的模块

5、多模块项目如何管理项目依赖的版本

通过在父模块中声明dependencyManagement和pluginManagement, 然后让子模块通过元素指定父模块,这样子模块在定义依赖是就可以只定义groupId和artifactId,自动使用父模块的version,这样统一整个项目的依赖的版本

6、如何保证项目传递依赖不会引起版本冲突

使用的元素将会引起冲突的元素排除


目录
相关文章
|
5月前
|
存储 Java 项目管理
Maven-高频面试题
Maven-高频面试题
|
6月前
|
Java 程序员 应用服务中间件
程序员的31大Maven面试问题及答案
程序员的31大Maven面试问题及答案
|
Java 应用服务中间件 测试技术
Maven面试题
什么是maven私服?
|
存储 缓存 Java
搞懂这7个Maven问题,带你吊打面试官!
在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的....
167 0
搞懂这7个Maven问题,带你吊打面试官!
|
3月前
|
Java Maven
解决idea每次新建maven项目都需要重新配置maven的问题
解决idea每次新建maven项目都需要重新配置maven的问题
141 1
|
22天前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
99 1
Maven——创建 Spring Boot项目
|
25天前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
21 1
如何使用 maven 创建一个 Spring Boot项目
|
1月前
|
Java Maven Kotlin
idea maven创建kotlin项目
本文介绍了在IntelliJ IDEA中使用Maven创建Kotlin项目的步骤,包括在`pom.xml`文件中添加Maven中央仓库、配置`kotlin-maven-plugin`插件、指定源目录、添加测试插件和执行插件,以及添加Kotlin测试依赖和标准库依赖。文中还提到了如何通过更换镜像或使用代理来解决依赖下载速度慢的问题,并展示了运行示例代码的截图。
64 4
idea maven创建kotlin项目
|
1月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
75 2
eclipse创建maven项目
|
13天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
28 1