MAVEN利器:一文带你了解IDEA中如何使用Maven

前言:

强大的构建工具——Maven。作为Java生态系统中的重要组成部分,Maven为开发人员提供了一种简单而高效的方式来构建、管理和发布Java项目。无论是小型项目还是大型企业级应用,Maven都能帮助开发人员轻松处理依赖管理、编译、测试和部署等任务。

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN。

目录

前言:

配置方案:

1.配置当前工程下的Maven环境:

2.配置全局工程下的Maven环境:

如何在idea中创建MAVEN项目:

MAVEN中的坐标:

总结:


配置方案:

1.配置当前工程下的Maven环境:

首先打开idea中的setting,点击到build Tools中

 然后进行如下配置:

 再打开Runner界面,修改JRE的版本:

再打开Complier下的java Complier,配置字节码文件为11

 这样我们就把maven与当前的工程进行了关联,如果我们想要在其他工程中使用MAVEN,则需要按照相同的步骤再来一遍。

2.配置全局工程下的Maven环境:

全局的配置是在这里进行的:

 首先,我们要在Customize中点击All setting选项:

再按照我们配置当前工程下的MAVEN环境的步骤进行就可以

1.配置 maven的地址,setting地址,私有仓库地址

 2.配置JRE版本:

3.配置字节码文件:

这样我们就把maven与整个IDEA都关联了起来,以后我们只需要创建工程,那么这个工程就会自动与MAVEN进行关联,不再需要我们去手动设置

如何在idea中创建MAVEN项目:

1.在空项目中创建maven项目:

(不要跟这个方法创建,后面有说明!)

我们先创建一个空项目,在空项目中点击file中的new,之后进行如下设置:

  1. “Archetype” (原型) 指的是一种项目模板或者蓝图,它定义了项目的结构和相关的配置。Maven 提供了一些官方的原型供开发者使用,比如 “maven-archetype-quickstart”,它是一个用于快速创建简单 Java 项目的原型。原型提供了一个起点,帮助你快速搭建项目的基本结构,省去了手动配置的麻烦。
  2. Version” (版本) 指的是原型的版本号。每个原型都有自己的版本,这些版本可能会包含不同的特性、修复 bug 或者改进。你可以根据自己的需要选择一个合适的原型版本。

 在完成这些设置后,点击create,我们就创建好了一个MAVEN项目

截图中的代码: 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>maven-01</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>maven-01</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

上述代码是一个 Maven 项目的 POM (Project Object Model) 文件,它是 Maven 项目的核心配置文件,用于描述项目的元数据和构建配置。下面是对每个元素的解释:

  • project:根元素,指定了 POM 文件的 XML 命名空间和架构位置。
  • modelVersion:指定 POM 模型的版本,在此例中为 4.0.0。
  • groupId:定义项目的 Group Id,用于唯一标识项目的组织或团队。在此例中,Group Id 为 “org.example”。
  • artifactId:定义项目的 Artifact Id,用于唯一标识项目的名称。在此例中,Artifact Id 为 “maven-01”。
  • version:指定项目的版本号,在此例中为 “1.0-SNAPSHOT”。
  • packaging:指定项目的打包方式,例如 jar、war 等。在此例中,打包方式为 jar。
  • name:指定项目的名称,在此例中为 “maven-01”。
  • url:指定项目的 URL,在此例中为 “http://maven.apache.org”。
  • properties:定义项目的属性,可以在项目的其他地方引用。在此例中,指定了项目的源代码编码为 UTF-8。
  • dependencies:定义项目的依赖关系。在此例中,定义了一个 JUnit 的测试依赖,版本号为 3.8.1,作用域为测试。

这个示例中的 POM 文件描述了一个简单的 Maven 项目,其中包括了基本的项目信息、构建设置和一个测试依赖。通过这些配置,Maven 可以根据 POM 文件来构建项目并管理项目的依赖关系。根据实际需求,你可以根据这个示例修改或添加其他的配置和依赖项。

但是需要注意的是:我们在2022的版本以上在空项目中创建maven项目的话,会出现发行版本无效的bug,而解决这个错误也是比较麻烦,因此我们可以直接在创建项目的时候就使用maven模块

2.在开始界面就直接利用maven模块进行创建: 

 这样就可以直接得到一个maven工程,并且运行也不会报错:

我们利用所创建出来的maven工程来创建一个简单的hello world

MAVEN中的坐标:

在 Maven 中,坐标(Coordinate)用于唯一标识一个项目或模块。它由三个元素组成:groupIdartifactId version。这些元素结合在一起,形成了一个在 Maven 仓库中唯一标识的标识符。

下面对 Maven 坐标的每个元素进行详细介绍:

  1. groupId(组织ID):

    • groupId 标识项目所属的组织或团队。
    • 建议使用逆序的域名(反向的 DNS 域名)作为 groupId 的值,这样可以确保唯一性。
    • 例如,org.example 表示该项目属于 example.org 组织。
  2. artifactId(构件ID):

    • artifactId 是项目或模块的名称。
    • artifactId 应该是唯一的,以便能够区分不同的项目或模块。
    • 例如,maven-01 可以是一个表示 Maven 项目的 artifactId。
  3. version(版本号):

    • version 是项目或模块的版本号。
    • 版本号用于区分不同的项目或模块的不同版本。
    • 通常使用数字加点的形式来表示版本号,例如 1.0、2.5.3 等。
    • 还可以使用特殊标识符,例如 SNAPSHOT(表示快照版本)或 RELEASE(表示正式发布版本)。
    • 例如,1.0-SNAPSHOT 表示一个还在开发中的快照版本,1.0 表示一个正式发布的版本。

通过组合 groupId、artifactId 和 version 这三个元素,可以唯一地标识和引用 Maven 仓库中的项目或模块。在 Maven 的依赖管理中,通过指定坐标来引入所需的外部依赖。

例如,在一个 Maven 项目的 pom.xml 文件中,可以使用以下方式指定依赖:

<dependencies>
    <dependency>
        <groupId>org.example</groupId>
        <artifactId>my-library</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>

这样,Maven 就能根据坐标解析并下载项目依赖。坐标的唯一性保证了项目的依赖管理的准确性和一致性,使得构建过程更加可靠和可重复。

总结:

在 IntelliJ IDEA 中配置 Maven 和创建 Maven 项目是非常重要的,因为 Maven 是Java开发中常用的构建工具和依赖管理工具。本文总结了在 IntelliJ IDEA 中配置 Maven 的步骤和创建 Maven 项目的过程。

首先,我们学习了如何配置 IntelliJ IDEA 来使用正确的 Maven 发行版本,并确保项目的 JDK 设置与所需的发行版本相匹配。我们还了解了如何在项目的编译选项中设置目标字节码版本。

其次,我们介绍了如何在 IntelliJ IDEA 中创建一个新的 Maven 项目。通过创建一个 Maven 项目,我们可以利用 Maven 的依赖管理功能来管理项目的外部依赖。我们讨论了如何设置项目的 groupId、artifactId 和版本号等坐标信息,以及如何在 pom.xml 文件中添加和管理依赖。

最后,我们强调了 Maven 坐标的重要性,它们在 Maven 项目中起着唯一标识和引用模块的作用。正确配置 Maven 和使用正确的坐标信息对于构建和管理 Java 项目至关重要。

配置 Maven 和创建 Maven 项目是提高开发效率和项目管理的关键步骤。掌握这些技巧和步骤,将使您能够更好地利用 Maven 的强大功能来管理和构建 Java 项目。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/90676.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows10 docker 安装在D盘

win10安装docker后发现c盘空间急速减少&#xff0c;360管家查看发现images镜像安装在C盘&#xff0c;于是重装docker desktop以为在安装过程中能够选择&#xff0c;遗憾的是没有提供选择权限&#xff0c;默认直接就安装到了c盘。 desktop 迁移 百度得知可以将c盘的docker安装…

SpringCloud学习笔记(二)_Eureka注册中心

一、Eureka简介 Eureka是一项基于REST&#xff08;代表性状态转移&#xff09;的服务&#xff0c;主要在AWS云中用于定位服务&#xff0c;以实现负载均衡和中间层服务器的故障转移。我们称此服务为Eureka Server。Eureka还带有一个基于Java的客户端组件Eureka Client&#xff…

网络安全之红蓝对抗实战

前言 背景介绍&#xff1a;目标是拿到企业www.xxx.com的《上市商业计划书.docx》&#xff0c;通过 OPENVPN 访问。特别提出的得分规则修改&#xff0c;权限的得分必须有 WEBSHELL/交互式 SHELL&#xff0c;只有一个漏洞回显不给分&#xff0c;更加偏向考察**漏洞利用**而非漏洞…

大红喜庆版UI猜灯谜小程序源码/猜字谜微信小程序源码

今天给大家带来一款UI比较喜庆的猜灯谜小程序&#xff0c;大家看演示图的时候当然也是可以看得到那界面是多么的喜庆&#xff0c;而且新的一年也很快就来了,所以种种的界面可能都比较往喜庆方面去变吧。 这款小程序搭建是免服务器和域名的&#xff0c;只需要使用微信开发者工具…

ARM--day7(cortex_M4核LED实验流程、异常源、异常处理模式、异常向量表、异常处理流程、软中断编程、cortex_A7核中断实验)

软中断代码&#xff1a;&#xff08;keil软件&#xff09; .text .global _start _start:1.构建异常向量表b resetb undef_interruptb software_interruptb prefetch_dataabortb data_abortb .b irqb fiq reset:2.系统一上电&#xff0c;程序运行在SVC模式1>>初始化SVC模…

Mysql B+数索引结构

一、B树和B树区别 二、 B 树形成过程 三、页分裂过程 3.1 页分裂过程实例 3.1.1 原有数据1、3、5形成如下数据页 3.1.2 先新插入数据4&#xff0c;因为 页10 最多只能放3条记录所以我们不得不再分配一个新页&#xff1a; 新分配的数据页编号可能并不是连续的&#xff0c;也…

Pytorch06-复杂模型构建

https://github.com/ExpressGit/Pytorch_Study_Demo 1、PyTorch 复杂模型构建 1、模型截图2、模型部件实现3、模型组装 2、模型定义 2.1、Sequential 1、当模型的前向计算为简单串联各个层的计算时&#xff0c; Sequential 类可以通过更加简单的方式定义模型。2、可以接收…

Excel 分组排名

分组排名 公式&#xff1a;SUMPRODUCT((A:AA2)*(C:C>C2)) 1 降序&#xff1a;> 改为 < ⚠️注意1&#xff1a;此处空值参与排名&#xff1b;不参与排名则公式改为&#xff1a;IF(C2“”,“”,SUMPRODUCT((A:AA2)*(C:C>C2)) 1) ⚠️注意2&#xff1a;相同值的项…

从开源到商业化:成功的转型策略

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

第9章:聚类

聚类任务 性能度量 距离度量 非度量距离 原型聚类 有很好的统计学上的意义&#xff0c;但是只能找到椭球形的聚类。 密度聚类 层次聚类

linux 免交互

Linux 免交互 1、免交互概念2、基本免交互的例子2.1命令行免交互统计2.2使用脚本免交互统计2.3使用免交互命令打印2.4免交互修改密码2.5重定向查看2.6重定向到指定文件2.7重定向直接指定文件2.8使用脚本完成重定向输入2.9免交互脚本完成赋值变量2.10关闭变量替换功能&#xff0…

【51单片机】EEPROM-IIC实验(按键控制数码管)

目录 &#x1f381;I2C总线 ​编辑 &#x1f381;代码 &#x1f3f3;️‍&#x1f308;main.c &#x1f3f3;️‍&#x1f308;i2.c &#x1f386;代码分析 &#x1f381;I2C总线 I2C总线是Philips公司在八十年代初推出的一种串行、半双工的总线&#xff0c;主要用于近距…

ubuntu下自启动设置,为了开机自启动launch文件

1、书写sh脚本文件 每隔5秒钟启动一个launch文件&#xff0c;也可以直接在一个launch文件中启动多个&#xff0c;这里为了确保启动顺利&#xff0c;添加了一些延时 #! /bin/bash ### BEGIN INIT sleep 5 gnome-terminal -- bash -c "source /opt/ros/melodic/setup.bash…

JavaScript(笔记)

目录 Hello World JavaScript 的变量 JavaScript 动态类型 隐式类型转换 JavaScript 数组 JavaScript 函数 JavaScript 中变量的作用域 对象 DOM 选中页面元素 事件 获取 / 修改元素内容 获取 / 修改元素属性 获取 / 修改 表单元素属性 获取 / 修改样式属性 新…

MybatisPlus(1)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 MyBatis-Plus&#xff08;简称MP&#xff09;是一个 Mybatis 的增强工具&…

pytorch中的register_buffer

今天在一个模型的init中遇到了self.register_buffer(‘running_mean’, torch.zeros(num_features)) register_buffer(self, name, tensor)是一个PyTorch中的方法&#xff0c;它的作用是向模块&#xff08;module&#xff09;中添加一个持久的缓冲区&#xff08;buffer&#xf…

msvcp110.dll丢失的解决方法,大家最常用的三个解决方法【教程】

win10是一款非常优秀的电脑系统&#xff0c;但有时候也会出现文件错误&#xff0c;比如msvcp110.dll丢失。这个问题可能会导致一些应用程序无法正常运行&#xff0c;甚至可能影响到系统的稳定性。那么&#xff0c;面对这样一个问题&#xff0c;我们应该如何解决呢&#xff1f;今…

R语言画样本不均衡组的箱线图

# 导入 ggplot2 包 library(ggplot2)# 示例数据框&#xff0c;包含数值数据和分组信息 data <- data.frame(Group c(rep("Group A",10), rep("Group B",15),rep("Group C",20)),Value c(rnorm(10, mean 10, sd 2),rnorm(15, mean 15, sd…

Orchestrator介绍一 简介安装与web端管理

目录 一 Orchestrator简介 二 Orchestrator功能 1 Discovery(发现复制拓扑) 2 Refactoring(重构复制拓扑) 3 Recovery(恢复主库故障) 三 orchestrator支持的操作方式 四 部署要求 五 下载 六 安装 1 下载软件包 2 解压软件包 3 创建账号 第一种是 orc后端MySQL数据…

mall:redis项目源码解析

文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、Redis 非关系型数据库2.1 Redis简介2.2 分布式后端项目的使用流程2.3 分布式后端项目的使用场景2.4 常见的缓存问题 三、源码解析3.1 集成与配置3.1.1 导入依赖3.1.2 添加配置3.1.3 全局跨域配置 3.2 Redis测试…