Maven(下)

简介: Maven

1.4 IDEA使用Maven

以后开发中我们肯定会在高级开发工具中使用Maven管理项目,而我们常用的高级开发工具是IDEA,所以接下来我们会讲解Maven在IDEA中的使用。


1.4.1 IDEA配置Maven环境

我们需要先在IDEA中配置Maven环境:


  • 选择 IDEA中 File --> Settings


bc141da1ab2c46f898456a15d818f859 (1).png


  • 搜索 maven


f7d3bbe15cca46dbab037e202e2d4fea.png


  • 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径


68bbf936355f4a0da1342eb03c698c02.png


1.4.2 Maven 坐标详解

什么是坐标?


  • Maven 中的坐标是资源的唯一标识
  • 使用坐标来定义项目或引入项目中需要的依赖


Maven 坐标主要组成


  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号

如下图就是使用坐标表示一个项目:


72aab979f03740f0b7896e1594c9d914.png


注意:


  • 上面所说的资源可以是插件、依赖、当前项目。
  • 我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。


1.4.3 IDEA 创建 Maven项目

  • 创建模块,选择Maven,点击Next


291a2bd49a9a4e96ac15404459ed880a.png


  • 填写模块名称,坐标信息,点击finish,创建完成


17729775277342859c9be4dd73dba559.png


  • 创建好的项目目录结构如下:


6427ac83219847cd82620030ad006166.png


  • 编写 HelloWorld,并运行


1.4.4 IDEA 导入 Maven项目

大家在学习时可能需要看老师的代码,当然也就需要将老师的代码导入到自己的IDEA中。我们可以通过以下步骤进行项目的导入:


  • 选择右侧Maven面板,点击 + 号


c93683f9a583424692a2046f7adf7d4e.png


  • 选中对应项目的pom.xml文件,双击即可


2e8b33594a224448a3e7b2133fff62ac.png


  • 如果没有Maven面板,选择


View --> Appearance --> Tool Window Bars


2d56d17190004646a7bf1644cb10a942.png


可以通过下图所示进行命令的操作:


81ce44fa22a8487b87e95c60e1c784bf.png


配置 Maven-Helper 插件


  • 选择 IDEA中 File --> Settings


20c2a5dee20b4eabbc2afc1d6ba23719.png


  • 选择 Plugins


2c8820b637a54c9b9552ba8aec9e365d.png


  • 搜索 Maven,选择第一个 Maven Helper,点击Install安装,弹出面板中点击Accept


b46a83b943f6442a9e700b0ca0a63cc1.png


  • 重启 IDEA


安装完该插件后可以通过 选中项目右键进行相关命令操作,如下图所示:


d40fc896542847c4a87593f33204da8c.png


1.5 依赖管理


1.5.1 使用坐标引入jar包

使用坐标引入jar包的步骤:

  • 在项目的 pom.xml 中编写 标签
  • 在 标签中 使用 引入坐标
  • 定义坐标的 groupId,artifactId,version


63b704ee873d4bfe8a466d083f09a7c1.png


  • 点击刷新按钮,使坐标生效


37f8c33c1aca4c6686f7c61a13c0fad8.png


注意:


快捷方式导入jar包的坐标:


每次需要引入jar包,都去对应的网站进行搜索是比较麻烦的,接下来给大家介绍一种快捷引入坐标的方式


  • 在 pom.xml 中 按 alt + insert,选择 Dependency


419779ab3c0b45e28479d72f927986cc.png


  • 在弹出的面板中搜索对应坐标,然后双击选中对应坐标


e78f23ad4acb41a09ca26ca1114702d0.png


  • 点击刷新按钮,使坐标生效


df5266ef8d8442de9b76a98b5853a331.png


自动导入设置:


上面每次操作都需要点击刷新按钮,让引入的坐标生效。当然我们也可以通过设置让其自动完成


  • 选择 IDEA中 File --> Settings


805498946e1d4f77af929ed722011783.png


  • 在弹出的面板中找到 Build Tools


a04eaa1cd3e14f39905b2922951ea09e.png


  • 选择 Any changes,点击 ok 即可生效


1.5.2 依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。


如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。 那么这个依赖就只能作用在测试环境,其他环境下不能使用。


c367111202b54592b8d2085aa2a8e7d9.png


那么 scope 都可以有哪些取值呢?


依赖范围 编译classpath 测试classpath 运行classpath 例子
compile Y Y Y logback
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y jdbc驱动
system Y Y - 存储在本地的jar包
  • compile :作用于编译环境、测试环境、运行环境。
  • test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值
  • provided :作用于编译环境、测试环境。我们后面会学习 servlet-api ,在使用它时,必须将 scope 设置为该值,不然运行时就会报错
  • runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值,当然不设置也没有任何问题

注意:

  • 如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值。
相关文章
|
数据安全/隐私保护
Maven-2
Maven-2
84 0
|
5月前
|
Java Maven 开发工具
Maven 特点
Maven是一个强大的Java项目管理工具,其特点包括:遵循统一规范的项目设置,支持跨工程共享;具备自动更新依赖的功能,并拥有庞大的库资源;可扩展,允许用户编写Java或脚本插件;几乎无需额外配置即可使用新功能;基于模型的构建系统,能自动生成JAR、WAR等格式的输出;能创建一致性项目站点,包含标准报告和自定义文档;支持发布管理和源代码管理集成;具有向后兼容性,方便旧版本迁移;子项目能继承父项目的依赖;并行构建提升编译效率;提供改进的错误报告,链接到详细解释页面。
|
3月前
|
Java 测试技术 程序员
Maven(二)
Maven(二)
40 0
|
Java 数据库连接 Maven
Maven介绍
Maven介绍
92 0
|
6月前
|
Java 测试技术 数据库连接
Maven
Maven
85 0
|
Java 测试技术 Maven
maven总结
maven总结
43 0
|
Java 测试技术 数据库连接
|
Java 测试技术 Maven
|
存储 Java 程序员
Maven详解
Maven详解
329 0
|
Java 应用服务中间件 Maven
关于Maven,你真的了解它吗?(上)
关于Maven,你真的了解它吗?(上)