2024年9月21日---关于Maven

devtools/2024/9/24 4:25:43/

第一节:maven工具的简介

1.1 开发过程中遇到的问题
1、都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行?
2、为什么在我的机器上可以正常打包,而配置管理员却打不出来?
3、项目组加入了新的人员,我要给他说明编译环境如何设置,但是让我挠头的是,有些细节我也记不清楚了。
4、我的项目依赖一些jar包,我应该把他们放哪里?放源码库里?
5、这是我开发的第二个项目,还是需要上面的那些jar包,再把它们复制到我当前项目的svn库里吧
6、现在是第三次,再复制一次吧。    ----- 这样真的好吗?
7、我写了一个数据库相关的通用类,并且推荐给了其他项目组,现在已经有五个项目组在使用它了,今天我发现了一 
个bug,并修正了它,我会把jar包通过邮件发给其他项目组       -----这不是一个好的分发机制,太多的环节可能导致出现bug
8、项目进入测试阶段,每天都要向测试服务器部署一版。每次都手动部署,太麻烦了。
1.2 什么是maven

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建依赖管理项目信息管理

Maven主要有两个功能:

- 项目构建
- 依赖管理
1.3 什么是构建

1.4 项目构建的方式

1.4.1 Eclipse

<span style="background-color:#f8f8f8"><span style="color:#333333">手工操作较多,项目的构建过程都是独立的,很难一步完成。比如:编译、测试、部署等。
开发时每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错</span></span>

1.4.2 Ant

<span style="background-color:#f8f8f8"><span style="color:#333333">Ant只是一个项目构建工具,它没有集成依赖管理。
Ant在进行项目构建时,它没有对项目目录结构进行约定,需要手动指定源文件、类文件等目录地址。同时它执行task时,需要显示指定依赖的task,这样会造成大量的代码重复。</span></span>

1.4.3 Maven

<span style="background-color:#f8f8f8"><span style="color:#333333">- Maven不仅是一个项目构建工具,更是一个项目管理工具。它在项目构建工程中,比ant更全面,更灵活。
- Maven在进行项目构建时,它对项目目录结构拥有约定,知道你的源代码在哪里,类文件应该放到哪里去。
- 它拥有生命周期的概念,maven的生命周期是有顺序的,在执行后面的生命周期的任务时,不需要显示的配置前面任务的生命周期。例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程</span></span>

第二节:maven工具的安装

2.1 环境准备
<span style="background-color:#f8f8f8"><span style="color:#333333">PC端:    win11/win10/win7操作系统
Jdk:    jdk-8u172-windows-x64.exe     :   JAVA_HOME  必须配置
maven:  apache-maven-3.5.3-bin.zip</span></span>

maven的历史版本下载地址: Index of /dist/maven/maven-3

2.2 maven解压

maven的软件包解压到某一个盘符下,如D盘,E盘的某一个你喜欢的路径下;如果你C盘的空间足够大,也可以选择C盘。注意: 你的路径中不要使用中文,也尽量不要带有空格及其他特殊符号

2.3 maven本地仓库配置

2.3.1 创建仓库目录

选择一个你喜欢的位置创建一个文件夹maven_repository,当作maven的本地仓库。起名尽量见名知意

2.3.2 修改settings.xml文件

第一步:打开maven的conf目录下的settings.xml文件

第二步:找到localRepository标记,大概在文件的50行左右,然后配置一下本地仓库路径,指向你创建的仓库目录

例:如图所示

第三步:再配置一下远程仓库的地址。下面给大家的是阿里云的远程仓库地址。

<mirror>  <id>alimaven</id>  <name>aliyun maven</name>  <url>https://maven.aliyun.com/repository/public</url>  <mirrorOf>central</mirrorOf>  
</mirror>
<mirror><id>osc</id><url>http://maven.oschina.net/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>

只需要将上述提供的阿里云的地址复制到mirrors标记内部即可,mirrors的结束标记大约在165行左右

第四步:强烈建议,将你的系统盘下Users目录下你的登陆用户名下的.m2目录里的内置的settings.xml文件使用你刚刚配置的maven的settings.xml文件覆盖掉,或者打开此文件,按上述内容配置一下本地仓库,和远程仓库。

如果你不配置这个,那么你以后在使用idea工具时,很可能恢复默认配置哦

2.4 maven环境变量配置

maven的环境变量配置与jdk的环境变量配置非常类似。

2.4.1 添加MAVEN_HOME变量

2.4.2 配置path变量

2.4.3 验证环境变量

出现类似上述的内容,表示配置成功

第三节: IntelliJ IDEA与 maven工具的整合

3.1 idea配置maven

打开idea,按照下图的流程打开,指定maven的根目录,并查看本地仓库的路径是否正确。

3.2 创建maven项目,下载通用jar包

选择 File --> New --> Project --> Maven,勾上create from archetype,选择quickstart,然后Next。

参考下图中的1、2、3、4、5、6、7:

然后 在弹出的新界面中的文本框中进行命名操作,参考下图中的8、9、10:

解析:
- GroupId: 这个文本框对应的是src目录下的包名
- Artifactld: 这个文本框对应的是项目名

点击 上一个图中的Next后,来到如下窗口,确定序号11是不是你安装的maven,如果不是,选择一下你自己的maven路径。然后12,13完成项目的创建。

注意: 当你刚刚创建完项目后,会出现如下界面,downloading表示正在从阿里云的远程仓库下载jar包到你的本地仓库中。第一次下载的时间可能会久一点。如果想要将jar包导入项目中,请点击右下角的Enable Auto-import

查看你的本地仓库目录,应该有内容了。例:如下图示

第四节:联网下载jar包导入本地maven

4.1 常用maven仓库地址
https://mvnrepository.com/
https://maven.aliyun.com/mvn/search
4.2 下载hadoop的jar包到本地仓库

打开 https://mvnrepository.com/网址,搜索hadoop

先找到 hadoop-common,点进去,找到相应版本号,进去查看maven的dependency信息。

将dependency的内容,全选,复制到项目的pom.xml文件中的dependencies标签内部,如下图

然后,其他的jar包,如hadoop-client、hadoop-hdfs、hadoop-mapreduce-client-core这些jar的pom信息也依次复制到项目下的pom.xml文件中。

pom.xml内容如下:

<dependencies><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.7.6</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>2.7.6</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-core --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-mapreduce-client-core</artifactId><version>2.7.6</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client--><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.7.6</version></dependency>
</dependencies>

这样 配置完,就会自动从远程仓库中下载这四个jar包,以及依赖的所有jar包到你的本地库了。

例:如下图示

第五节:在idea中创建maven项目

  1. 打开IntelliJ IDEA,点击"File" -> "New" -> "Project"。

  2. 在弹出的窗口中,选择左侧的"Maven"选项。

  3. 在右侧的面板中,勾选"Create from archetype"选项,然后在下拉列表中选择一个适合你的项目的archetype。例如,如果你要创建一个Java项目,可以选择"maven-archetype-quickstart"。

  4. 点击"Next"按钮,进入下一步。

  5. 在下一个窗口中,填写项目的基本信息,如GroupId、ArtifactId、Version等。这些信息将用于生成项目的目录结构和pom.xml文件。

  6. 点击"Next"按钮,进入下一步。

  7. 在下一个窗口中,选择项目的存储位置和名称,然后点击"Finish"按钮。

  8. IntelliJ IDEA将自动创建一个新的Maven项目,并下载所需的依赖库。完成后,你可以在项目中看到生成的目录结构和pom.xml文件。

  9. 现在你可以开始编写代码并使用Maven构建和管理项目了。


http://www.ppmy.cn/devtools/116320.html

相关文章

Qt窗口——QToolBar

文章目录 工具栏创建工具栏设置toolTip工具栏配合菜单栏工具栏浮动状态 工具栏 QToolBar工具栏是应用程序中集成各种功能实现快捷键使用的一个区域。 可以有多个&#xff0c;也可以没有。 创建工具栏 #include "mainwindow.h" #include "ui_mainwindow.h&qu…

vue项目加载cdn失败解决方法

注释index.html文件中 找到vue.config.js文件注释、

卷积神经网络(Convolutional Neural Network,CNN)

CNN网络主要有三部分构成&#xff1a;卷积层、池化层和全连接层构成&#xff0c;其中卷积层负责提取图像中的局部特征&#xff1b;池化层用来大幅降低参数量级(降维)&#xff1b;全连接层类似神经网络的部分&#xff0c;用来输出想要的结果。 卷积思想 卷积Convolution&#x…

前端css样式覆盖

.detail .grid .active 的样式会覆盖 .detail .grid .bgorange .active 在CSS中&#xff0c;当多个选择器应用于同一元素时&#xff0c;会根据一定的优先级规则决定哪个样式会被应用。 CSS选择器的优先级规则如下&#xff1a; 内联样式&#xff08;在HTML元素的style属性中定…

全栈开发(四):使用springBoot3+mybatis-plus+mysql开发restful的增删改查接口

1.创建user文件夹 作为增删改查的根包 路径 src/main/java/com.example.demo/user 2.文件夹里文件作用介绍 1.User(实体类) package com.example.demo.user; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.IdType; impo…

Django 请求配置

http请求配置 请求流程 urls.py配置 from first_app import viewsurlpatterns [path(admin/, admin.site.urls),path(test/,views.first_test), ] views.py配置 from django.shortcuts import render,HttpResponse# Create your views here. def first_test(request):prin…

研一奖学金计划2024/9/23有感

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、需要认真上课的1.应用数理统计&#xff08;开卷考试&#xff09;2.最优化方法&#xff08;开卷考试&#xff09;3.跨文化交际&#xff08;主题演讲20课堂讨…

Windows本地pycharm使用远程服务器conda虚拟环境

1、Windows下载pycharm专业版&#xff0c;必须是专业版&#xff0c;不然连不了远程服务器。 Download PyCharm: The Python IDE for data science and web development by JetBrains 2、添加远程服务器的虚拟环境&#xff0c;在pycharm右下角落选择 添加新的解释器>>SSH。…