在IDE中使用Maven

IDE工具

  • MyEclipse

    集成maven插件

  • Eclipse

​ Eclipse For Java EE

  • IDEA

    集成Maven插件

    在IDE中

    配置Maven

    • 指定maven安装目录和配置文件
    • 自动更新maven项目:勾选import projects automatically (2020版本 :Ctrl + Shift + O)

创建Maven项目

new Module——>Maven——>勾选Create from archetype

执行maven操作

Maven projects显示所有maven项目

执行生命周期

如果不想单独执行,就点击maven框里的Execute Maven Goal(在run maven的右边)

也能自定义添加一个maven操作组合

如果main文件下没有resources文件就创建一个,test文件下也是一样的

目录的类型与更改类型

在IDEA中目录是分类型的,常营的4中:

  • Sources Root 主代码的目录:src/main/java

  • Test Sources Root 测试代码的目录:src/test/java

  • Resources Root 主代码所需资源的目录:src/main/resources

  • Test Resources Root测试代码所需资源的目录:src/test/resources

    注:在IDEA中默认创建的目录都是普通的Directory,创建后需要设置目录的类型

可以在文件右键 Mark Directory As中更改

Maven中pom.xml文件详解

简介

pom:project object model项目对象模型

pom.xml是Maven的核心配置文件

一个Maven项目有且只有一个pom.xml文件,该文件必须在项目的跟目录下

坐标

什么是坐标

用来唯一的标识每个项目,必须为项目定义坐标,坐标必须唯一

目的是为了让其他的Maven项目可以使用该项目生成的jar包

坐标详解

Maven坐标是通过一些元素来定义:groupId(组织的ID)、artifactId、version

groupId(组织的ID):表示当前模块所属于的项目

artifactId:模块的ID

version:当前的版本

<groupId>org.example</groupId><artifactId>maven-project</artifactId><version>1.0-SNAPSHOT</version>

dependency

基本配置

如何查找一个jar包的坐标

https://search.maven.org/或者:https://maven.aliyun.com/mvn/view(maven.aliyun.com/nexus)

查找mysql-connector

  <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--   mysql jar包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency></dependencies>

scope作用域

表示依赖的作用域,用来配置依赖的jar包可使用的范围

取值 含义 举例
compile 该依赖可以在整个项目中使用,参与打包部署,默认值 commons-fileupload
test 该依赖只能在测试代码中使用,并且不参与打包部署的 junit
provided 该依赖编写源代码时需要,不参与打包部署 servlet-api、jsp-api
runtime 该依赖编写代码时不需要,运行时需要,参与打包部署 mysql-connector
system 表示使用本地系统路径下的jar包,需要和一个systemPath一起使用 ojdbc.jar

使用本地jar包(放在自己创建的lib文件下,与src同级):

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version><systemPath>${basedir}/lib/mysql-connector-java-8.0.17.jar</systemPath>
</dependency>

properties

全局属性,一般情况下同于定义全局的jar包的版本

作用:比如在properties中定义版本<ljy.version>4.3.12</ljy.version>

那么在对于的依赖下添加${ljy.version}

在properties中改了 后面对应的依赖版本也跟着改了(方便)

在依赖的version中alt+ctrl+v(快速提取)

如:

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target><mysql-connector-java.version>8.0.22</mysql-connector-java.version>
</properties><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector-java.version}</version></dependency>

repositories

用来配置当前工程使用的远程仓库

依赖查找的顺序:本地仓库——>当前工程pom.xml中配置的远程仓库——>setting.xml中配置的远程仓库

spring为例:url 是spring官方地址

<repositories>
<!--      有些最新的jar包,可能在中央仓库上并没有提供,此时可以使用jar包官方提供的仓库--><repository><id>spring_repo</id><url>https://repo.spring.io/milestone/</url></repository>

plugin(配置插件)

配置插件,是一种工具

格式:

<build><plugins><plugin><groupId>xxxx</groupId><artifactId>zzzz</artifactId><version>zzzz</version></plugin></plugins>
</build>
<build><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin></plugins></pluginManagement></build>

超级POM

所有的pom.xml文件都继承了父POM,这个父POM称为超级POM(Super POM),你看不见也改不了,但是在myeclipse软件中能看见

原文链接:Maven中pom文件详解 - 喂s别闹 - 博客园

Maven中pom文件详解相关推荐

  1. Maven中settings文件详解

    一.自带的settings文件 二.元素说明 三.两种完整的settings文件 一.自带的settings文件 我们下载一个maven,在其config目录下,都会有一个settings.xml文件 ...

  2. java中pom文件详解

    目录 一.maven项目的目录结构 二.根元素和必要配置 三.父项目和parent元素 四.项目构建需要的信息 1.路径管理 2.资源管理 3.插件管理 4.构建扩展 5.其他配置 五.项目依赖相关信 ...

  3. springboot中pom文件详解

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  4. GAZEBO 中 sdf文件详解

    转载自:https://blog.csdn.net/weixin_44900096/article/details/103017522 GAZEBO 中 sdf文件详解 木木木一 2019-11-11 ...

  5. Maven中scope标签详解

    概述 scope元素的作用:控制 dependency 元素的使用范围.通俗的讲,就是控制 Jar 包在哪些范围被加载和使用.具体值如下: compile:默认值.表示被依赖项目需要参与当前项目的编译 ...

  6. Android 中rc文件详解

    rc文件详解 转载https://www.cnblogs.com/zhougong/p/8889040.html

  7. 关于Maven中pom文件标签的详解,分别对比父工程pom文件与子工程pom文件。

    一.介绍 这里我们以若依开源框架为例,我们先讲解,父工程pom文件,之后再讲解子工程pom文件. 首先,我们先介绍若依前后端分离项目的目录结构; 一.父工程pom.文件 父工程pom文件注释:(每个标 ...

  8. maven(二)pom文件详解

    文章目录 1. 什么是pom 文件? 2. pom文件各常用属性含义 2.1 项目基本信息 2.2 build项目构建属性介绍 2.2.1 resources资源路径列表 2.2.2 plugins ...

  9. maven中pom文件解析

    pom文件是maven中最重要的文件,以上命令的也需要根据pom文件进行运行.一般在构建完maven项目后需要修改pom文件添加诸如依赖关系,打包机制及一些项目的详细信息.一般的pom包含如下一些基本 ...

最新文章

  1. benet 3.0的windows服务视频 第二章DNS
  2. 近期活动盘点:大咖云集,中国AI创新者论坛(3.21)
  3. JavaScript 运行时错误: 无法获取未定义或 null 一种解决方案
  4. 二级考试java模拟考试_2017年计算机二级考试Java模拟试题及答案
  5. QQ炫舞手游显示进入服务器失败6,qq炫舞手游进不去怎么办 游戏进不去方法详解[多图]...
  6. SQL Server有这些属性吗
  7. 黑盒攻击很难?元学习提高黑盒对抗攻击成功率
  8. 06.大厂面试题:请讲下SpringBoot的日志框架原理
  9. 【持续更新】Java序列化对象释疑
  10. 学校图书馆管理系统/图书管理系统的设计与实现
  11. windows cl命令行编译和nmake
  12. 计算机图形学(二)——画一个三角形1.0
  13. 【转】计算机网络之域名、主机名、IP地址和URL
  14. 微信小程序“errMsg“:“openSetting:fail can only be invoked by user TAP gesture.“
  15. 形容词,名词记忆(五):ing ,ed 后缀常用词
  16. 【技术白皮书】第一章:基于深度学习的文本检测与识别的技术背景
  17. OpenStack | Placement组件
  18. MATLAB之极限、积分、微分
  19. jmeter使用BeanShell Sampler测试自己写的java接口(一)
  20. 电磁阀的分类及应用范围

热门文章

  1. 【MNN学习六】基于Android的MNN编译安装
  2. 数据结构学习笔记 哈希表(一) 哈希表基础与哈希函数
  3. 系统设定工具(网络、打印机)与硬件侦测
  4. arcgis怎么关联excel表_arcgis中如何跟excel连接?
  5. PDF文档翻译中文的方法
  6. WSUS 3.0 SP2服务器配置
  7. 如何写公式提取车牌号
  8. 频率控制方式及优缺点总结
  9. Java 八大基本数据类型简述
  10. 用python获取指定路径下的所有目录路径和文件路径