Maven详解和IDEA中配置Maven

目录

一:Maven概述

 标准化的项目结构

标准化的构建流程

依赖管理

二.Maven介绍

1.Maven模型

2.仓库

 三. Maven安装和配置

         安装Maven

1.:进入maven官网-->找到下载页面-->点击二进制zip文档的链接

2.:解压当前文件夹

3.:配置环境变量

4.:检查

5.:配置本地仓库

6..配置阿里云私服

四.Maven的基本使用

1.命令演示

2.Maven生命周期【了解】

五.IDEA中配置Maven

六.IDEA中的相关操作

1.导入Maven项目

2.Maven命令操作

3.使用坐标引入jar包

4.依赖范围【先了解,以后用到了可以再学】


一:Maven概述

Maven是专门用于管理和构建java项目的工具,他的主要功能有:

  • 提供了一套标准化的项目结构 ;   
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……); 
  • 提供了一套依赖管理机制

 标准化的项目结构

        项目结构就是我们创建的文件夹整个层级,每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。我再eclipse中创建的目录,无法在idea中进行使用,这就造成了很大的不方便,而Maven为我们提供了一套标准的项目结构,方便我们在不同的IDE中导入我们的整个项目;如图所示:

 

                                

标准化的构建流程

        通过Maven我们可以方便的对项目进行一个构建的流程,包括:编译,测试,打包,发布等等的功能。

        只需要简单的Maven命令:

依赖管理

        "依赖",顾名思义就是我们完成某项任务或者功能可能需要其他东西的辅助;就比如说:我们学习JDBC时可能需要MySQL的驱动jar包。需要到网上下载,导入到我们的项目中,整体下来是很繁琐的。使用Maven后可以很方便的完成上述繁琐的操作

        学习JDBC时导入的MySQL的驱动包和阿里的德鲁伊数据库连接池:

        使用Maven后,用标准的坐标【我们日常生活中说到"去西安,北京(坐标),这就是一个坐标,标识一个我们要去的地方,Maven也同样如此,通过坐标识唯一的资源"】 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。下图是导入的资源,这里只需要了解一下,后面会详细讲解。

<!--    导入mysql的驱动包-->
    <dependencies>
        <!--    导入mysql的驱动包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version> 5.1.32</version>
        </dependency>
        <!--        测试依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

二.Maven介绍

        "Apache Maven 是一个软件项目管理和理解工具。基于项目对象模型的概(POM),Maven 可以从中心信息管理项目的构建、报告和文档."这是官网中的一段话。

大家有什么问题可以去官网查询,官网更为准确。

官网 :Apache Maven官网网址

1.Maven模型

        Maven POM只需要了解一下即可,如果感兴趣可以访问官网查看详细内容,或者访问 菜鸟教程Maven POM.

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。

执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。

           简单理解:项目对象模型就是将我们自己抽象成一个对象模型,有自己专属的坐标,如下图所示是一个 Maven项目:

        依赖管理模型则是使用坐标来描述当前项目依赖的第三方jar包在哪里【坐标】。



2.仓库

        想想 我们创建Maven项目,在项目中使用坐标来指定项目的依赖,然后我们的jar包就会凭空出现,可能吗?显然是不可能的,可能的情况就是我们的jar包存储在我们的仓库中,那么依赖的jar包到底存储在什么地方呢?其实依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。

仓库分类

【一会会安装并介绍】

仓库分类
本地仓库自己计算机上的一个目录
中央仓库由Maven团队维护的全球唯一的仓库 地址:网址
远程仓库(私服)一般由公司团队搭建的私有仓库 今天我们只学习远程仓库的使用,并不会搭建。 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包: 如果有,则在项目直接引用; 如果没有,则去中央仓库中下载对应的jar包到本地仓库

       注:图片来源


 三. Maven安装和配置

         安装Maven

1.:进入maven官网-->找到下载页面-->点击二进制zip文档的链接

Binary是可执行版本,已经编译好可以直接使用。因此我们直接下载这个文件即可
Source是源代码版本,需要自己编译成可执行软件才可使用。

2.:解压当前文件夹

bin目录 : 存放的是可执行命令。mvn 命令重点关注。

conf目录 :存放Maven的配置件。 settings.xml 配置文件后期需要修改。

lib目录 :存放Maven依赖的jar包。Maven也是使用java开发的,所以它也依赖其他的jar包

3.:配置环境变量

1.右键此电脑–>属性–>高级系统设置–>环境变量

2.如图:点击环境变量--依次按步骤操作即可

4.:检查

配置完成后,打开cmd【快捷键:win+R】输入命令,看是否配置成功

命令:mvn-version

5.:配置本地仓库

找到我们刚才Maven的解压目录

修改 conf/settings.xml 中的 为一个指定目录作为本地仓库,用来存储jar包。

打开进行修改【】:

路径为:自己刚才创建的文件夹路径

配置信息:

 <localRepository>D:\Maven\maven_development\apache-maven-3.6.1\mvn_resp</localRepository>

6..配置阿里云私服

        中央仓库在国外,所以下载jar包速度可能比较慢,而阿里公司提供了一个远程仓库,里面基本也都有开源项目的jar包。 修改 conf/settings.xml 中的 标签,为其添加如下子标签

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

如图所示:

至此,maven的基本配置完成。

四.Maven的基本使用

1.命令演示

compile :编译

clean:清理

test:测试

package:打包

install:安装

命令演示:

因为还没有在idea中配置maven,这里只需浏览一下即可,等会讲解配置问题

mvn compile  编译

1.提供了一个使用Maven构建的项目

2.我们使用上面命令需要在磁盘上进入到项目的 pom.xml 目录下,打开命令提示符

3.执行上述命令

第一次输入命令时,可能会等待下载插件,如图;

其他命令不在一一展示,读者可以自行在命令行中尝试........

2.Maven生命周期【了解】

        Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven 对项目构建的生命周期划分为3套:

clean :清理工作。

default :核心工作,例如编译,测试,打包,安装等。

site : 产生报告,发布站点等。这套声明周期一般不会使用。

同一套生命周期内,执行后边的命令,前面的所有命令会自动执行。例如默认(default)生命周期如下: 当我们执行 install (安装)命令时,它会先执行 compile 命令,再执行 test 命令,再执行 package 命令,最后执行 install 命令。

当我们执行 package (打包)命令时,它会先执行 compile 命令,再执行 test 命令,最后执行 package 命令。 默认的生命周期也有对应的很多命令,其他的一般都不会使用,我们只关注常用的:

了解更多:请参照菜鸟教程


五.IDEA中配置Maven

我的IDEA版本2022.3.3;不同的版本可能略有差异

1.首先找到新建项目的页面,点击 All settings....

2.Build----->Maven----->修改相关信息

如果我们第一次配置肯能会发现;其实IDEA中内置了Maven;而Maven的仓库就在我们的

C盘:

不使用默认的,使用我们下载的MAven和仓库信息:

3.点击OK“,返回开始的界面再点击”New Project“

4.出现Maven的项目配置结构

  • 右键”text“ --->new---->Directory-->输入文件名即可;

六.IDEA中的相关操作

1.导入Maven项目

若我们想再自己的Maven项目中导入别人的项目:

  1. 选择右侧Maven面板,点击 +
  2. 选中对应项目的pom.xml文件,双击即可【别人的项目就会被导入】
  3. 如果没有Maven面板,选择 View --> Appearance --> Tool Window Bars

2.Maven命令操作

刚才我们再Powershell中使用命令演示了编译,测试,安装等命令;再IDEA中我们可以通过图形化界面进行操作;如图所示:

配置Maven插件

Maven Helper:当我们项目很多时可以给我们带来方便

  • 选择 IDEA中 File --> Setting

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

  • 重启IDEA后就可以使用

3.使用坐标引入jar包

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

1.在项目的 pom.xml 中编写标签  

<dependencies>  </dependencies>

2.在 标签中使用 引入坐标

3.定义坐标的 groupId,artifactId,version

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>
  • 重要:记得刷新【这样才能起作用】

具体的坐标我们可以到如下网站进行搜索

https://mvnrepository.com/

其他的坐标大家可以自行尝试导入!

4.依赖范围【先了解,以后用到了可以再学】

        通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。 如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。 那么这个依赖就只能作用在测试环境,其他环境下不能使用:

  • scop可以的取值

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

如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值。



        因时间仓促,内容可能不完整或者有出错的地方,希望大家指正!如果对你有帮助,希望能获得一个免费的👍哦!

        最后祝大家小年快乐!身体健康!

参考:   

     黑马程序员JavaWeb教程icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Qf4y1T7Hx/?spm_id_from=333.337.search-card.all.clickh草原印象-CSDN博客草原印象擅长Hibernate,Maven,MyBatis,等方面的知识https://blog.csdn.net/gongjian0321草原印象擅长Hibernate,Maven,MyBatis,等方面的知识https://blog.csdn.net/gongjian0321

Cy_QAQicon-default.png?t=N7T8https://blog.csdn.net/qq_38190185

 
 

  • 67
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 1. 首先,在IDE创建一个新的Maven项目。 2. 在pom.xml文件添加Spark依赖项。例如: ``` <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.0</version> </dependency> </dependencies> ``` 3. 创建一个Java类,并在其编写Spark应用程序代码。例如: ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class SparkApp { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("SparkApp").setMaster("local[*]"); JavaSparkContext sc = new JavaSparkContext(conf); JavaRDD<String> lines = sc.textFile("input.txt"); JavaRDD<String> words = lines.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaRDD<String> filteredWords = words.filter(word -> !word.isEmpty()); filteredWords.saveAsTextFile("output.txt"); sc.stop(); } } ``` 4. 在IDE运行Spark应用程序。您可以使用本地模式或分布式模式运行应用程序。 5. 您可以在输出目录找到生成的输出文件。 ### 回答2: 理解Spark和Maven的基础知识是创建Maven的Spark项目的关键所在。在这个教程,我们将详细介绍如何创建一个Maven的Spark项目,同时也会解释代码的每一个部分。 Spark和Maven介绍: Spark是一个开源的大数据处理框架,它提供了一个高速的、可扩展的基于内存的计算方法。而MavenJava应用程序的项目管理工具,它使得构建和管理项目变得更加容易。 步骤一:创建Maven项目 1.打开Eclipse IDE,选择"File"-> "New" -> "Project"。 2. 在弹出的对话框,选择"Maven" -> "Maven Project"。 3. 点击"Next"按钮,选"Create a simple project"选项,填写项目的GroupId,ArtifactId和Version信息。 4. 点击下一步,填写项目的名称和位置。 5. 选择"Maven archetype",选择"maven-archetype-quickstart"。 6. 最后,点击"Finish"按钮来完成项目的创建。 步骤二:添加Spark依赖 1. 打开pom.xml文件,在里面添加Spark的依赖。Spark有多个版本,所以选择正确的依赖非常重要。 2. 在pom.xml的dependencies标签添加以下代码: ``` <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.0</version> </dependency> </dependencies> ``` 这里我们使用了Spark 2.4.0的核心版本。 步骤三:创建Java类 1. 右键点击src/main/java文件夹,新建一个Java类。 2. 在类编写我们的Spark代码,这里我们编写Word Count示例。 ``` import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; public class WordCount { public static void main(String[] args) { String inputFile = args[0]; String outputFile = args[1]; // 创建SparkConf对象 SparkConf conf = new SparkConf() .setAppName("WordCount"); // 创建JavaSparkContext对象 JavaSparkContext sc = new JavaSparkContext(conf); // 读取文件 JavaRDD<String> input = sc.textFile(inputFile); // 对每个单词计数并排序 JavaRDD<String> words = input.flatMap(line -> Arrays.asList(line.split(" ")).iterator()); JavaPairRDD<String, Integer> counts = words.mapToPair(word -> new Tuple2<>(word, 1)) .reduceByKey((a, b) -> a + b); JavaPairRDD<Integer, String> countsSwap = counts.mapToPair(x -> x.swap()); JavaPairRDD<Integer, String> sortedCounts = countsSwap.sortByKey(false); JavaPairRDD<String, Integer> result = sortedCounts.mapToPair(x -> x.swap()); result.saveAsTextFile(outputFile); } } ``` 步骤四:打包和运行代码 1. 在终端,使用以下命令来进入项目的根目录: ``` cd /path/to/project ``` 2. 在终端,使用以下命令使用Maven来打包项目: ``` mvn package ``` 这将在项目的target目录生成可执行的JAR文件。 3. 在终端,使用以下命令来运行代码: ``` spark-submit --class WordCount /path/to/your-jar-file.jar input.txt output.txt ``` 其,/path/to/your-jar-file.jar是你的项目生成的JAR文件的路径,input.txt和output.txt是输入和输出文件的路径。 完成这些步骤之后,你就可以成功的创建了一个Maven的Spark项目,并运行了一个简单的Spark应用程序。 ### 回答3: 首先,为了创建Maven的Spark项目,我们需要先安装Maven和Spark。在安装完成后,我们可以按照以下步骤创建Maven的Spark项目: 1. 在命令行输入以下命令来创建一个基础项目: mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 2. 在创建完成之后,我们需要在pom.xml文件添加Spark的依赖。可以在Maven官网上找到Spark的依赖信息,并将其复制到pom.xml文件。 3. 接下来,我们需要在我们的代码添加Spark相关的代码来运行Spark应用程序。Spark应用程序通常由SparkConf和SparkContext对象的创建和使用组成。 4. 创建SparkConf对象时,需要使用setAppName方法来设置应用程序的名称,并使用setMaster方法来设置Spark应用程序在哪个节点上运行。 5. 创建SparkContext对象时,需要向构造函数传递SparkConf对象,并且指定Spark应用程序所需的一些配置,例如worker节点的数量等。 6. 最后,我们可以在我们的代码运行Spark应用程序,使用SparkContext对象来创建RDD对象并执行相关的操作。 以上就是创建Maven的Spark项目的详细步骤。需要注意的是,在完成Spark应用程序的编写之后,我们还需要使用Maven来构建和打包应用程序,以便在集群上运行。通过maven命令mvn package,我们可以将Spark应用程序打包成一个jar文件,并在Spark集群上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

〖七月〗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值