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 项目。

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17.4 【Linux】systemctl 针对 timer 的配置文件

有时候&#xff0c;某些服务你想要定期执行&#xff0c;或者是开机后执行&#xff0c;或者是什么服务启动多久后执行等等的。在过去&#xff0c;我们大概都是使用 crond 这个服务来定期处理&#xff0c; 不过&#xff0c;既然现在有一直常驻在内存当中的 systemd 这个好用的东西…

neo4jd3拓扑节点显示为节点标签(自定义节点显示)

需求描述&#xff1a;如下图所示&#xff0c;我的拓扑图中有需要不同类型的标签节点&#xff0c;我希望每个节点中显示的是节点的标签 在官方示例中&#xff0c;我们可以看到&#xff0c;节点里面是可以显示图标的&#xff0c;现在我们想将下面的图标换成我们自定义的内容 那…

基于Python3 的 简单股票 可转债 提醒逻辑

概述 通过本地的定时轮训&#xff0c;结合本地建议数据库。检查股票可转债价格的同事&#xff0c;进行策略化提醒 详细 前言 为什么会有这么个东西出来呢&#xff0c;主要是因为炒股软件虽然有推送&#xff0c;但是设置了价格之后&#xff0c;看到推送也未必那么及时&#…

SpringCloud学习笔记(四)_ZooKeeper注册中心

基于Spring Cloud实现服务的发布与调用。而在18年7月份&#xff0c;Eureka2.0宣布停更了&#xff0c;将不再进行开发&#xff0c;所以对于公司技术选型来说&#xff0c;可能会换用其他方案做注册中心。本章学习便是使用ZooKeeper作为注册中心。 本章使用的zookeeper版本是 3.6…

Ansible 自动化安装软件

例子如下&#xff1a; 创建一个名为/ansible/package.yml 的 playbook : 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上 将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上 将 dev 主机组中主机上的所有软件包更新为最新版本 --- - name:…

Python自动化测试代理程序可用性

在网络爬虫和数据采集过程中&#xff0c;代理服务器扮演着重要的角色。然而&#xff0c;代理服务器的可用性经常会受到影响&#xff0c;给爬虫工作带来一定的挑战。本文将介绍如何使用Python自动化测试代理程序的可用性&#xff0c;为您提供具备实际操作价值的解决方案。让我们…

【业务功能篇83】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-应用层实战

五、ElasticSearch应用 1.ES 的Java API两种方式 Elasticsearch 的API 分为 REST Client API&#xff08;http请求形式&#xff09;以及 transportClient API两种。相比来说transportClient API效率更高&#xff0c;transportClient 是通过Elasticsearch内部RPC的形式进行请求…

Maven的超级POM

对于我们创建的一个maven工程&#xff0c;即便我们自己的pom.xm文件中没有明确指定一个父工程&#xff08;父POM&#xff09;&#xff0c;其实也默认继承了超级POM&#xff0c;就好比JAVA类继承Object类一样。 maven官网关于超级POM的介绍&#xff1a; https://maven.apache.o…

咸鱼之王俱乐部网站开发

我的俱乐部 最新兑换码 *注意区分大小写&#xff0c;中间不能有空格&#xff01; APP666 HAPPY666 QQ888 QQXY888 vip666 VIP666 XY888 app666 bdvip666 douyin666 douyin777 douyin888 happy666 huhushengwei888 taptap666 周活动 宝箱周 宝箱说明 1.木质宝箱开启1个…

大数据 算法

什么是大数据 大数据是指数据量巨大、类型繁多、处理速度快的数据集合。这些数据集合通常包括结构化数据&#xff08;如数据库中的表格数据&#xff09;、半结构化数据&#xff08;如XML文件&#xff09;和非结构化数据&#xff08;如文本、音频和视频文件&#xff09;。大数据…

mysql-sql性能分析工具

一、sql执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次&#xff1a; -- session 是查看当前会话 ; -- global 是查询全…

Adobe Media Encoder软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe Media Encoder是一款由Adobe公司开发的视频和音频后期制作软件&#xff0c;它集成了多种编码格式和输出选项&#xff0c;可以帮助用户将视频和音频文件转换成适合各种用途的格式。该软件可以与Adobe Premiere Pro、After …